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 は単純さ以上のものを提供します。