ホームページ > php教程 > php手册 > PHPのzlibを使用してswfファイルを圧縮および解凍する

PHPのzlibを使用してswfファイルを圧縮および解凍する

WBOY
リリース: 2016-06-21 09:00:10
オリジナル
948 人が閲覧しました

C# を使用して SWF ファイルを圧縮および解凍する方法を以前に書きましたが、フラッシュ ヘッダー ファイルの情報を解凍、圧縮して読み取るには、オープンソースのリンク ライブラリを使用する必要があり、あまり便利ではありませんが、PHP を使用すると便利です。 PHP には zlib のリンク ライブラリが含まれており、その関連関数を直接使用できます。以下は、私が作成した swf ファイルの圧縮と解凍の例です。 swf ファイルが圧縮されているかどうかは、必要に応じてファイルの最初のバイトが「F」または「C」で判断できます。


圧縮された swf ファイルです。


//-- ---------------------------- -------------------- ------------------------------ -----------------

/ /ファイル名
$filename = "test.swf"
//ファイルを開きます
$rs = fopen($filename,"r");
//ファイルデータを読み取ります
$str = fread($rs,filesize($filename));
//swf ヘッダー ファイルを設定します
$ head = substr($str,1,8);
$head = "C" .$head
//SWF ファイルの内容を取得します
$body = substr,8); 🎜>//ファイルのコンテンツを圧縮します。最高の圧縮レベル 9 を使用します。
$body = gzcompress($ body, 9)
//ファイルのヘッダーとコンテンツをマージします。
$str = $head.$body ;
//読み取りファイルストリームを閉じます
fclose($rs);
//新しいファイルを作成します
$ws = fopen("create.swf","w"); >//ファイルを書き込みます
fwrite($ws,$str);
//ファイルを閉じます
fclose($ws)>//---------- ------------------------ ---------------------------- ---------------------- ------------------
?>

swf ファイルを解凍します:


//----------------------- ------------------------ ------------------------ ----------------------- --
//ファイル名
$filename = "test.swf"; file
$rs = fopen($filename,"r");
//ファイルデータを取得します
$str = fread($rs,filesize($filename)); swf ヘッダー ファイル
$head = substr($str,1,8);
$head = "F".$head;
//swf ファイルの内容を取得します
$body = substr( $str,8);
//ファイルの内容を解凍します
$body = gzuncompress( $body);
//ファイルのヘッダーと内容をマージします
$str = $head.$body
//読み取りファイルストリームを閉じます
fclose($rs);
/ /新しいファイルを作成します
$ws = fopen("create.swf","w"); /ファイルを書き込みます
fwrite($ws,$str);
//ファイルを閉じます
fclose($ws); --------------------- ---------------------------- --------------------- ----------------
?>


それはどうでしょうか? ははは、php は単純さ以上のものを提供します。





関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート