ホームページ >バックエンド開発 >PHPチュートリアル >php zlib のコードと swf ファイルの圧縮解除_PHP チュートリアル
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"
//ファイルを開く
$rs = fopen($filename,"r") ;
//ファイルデータの読み取り
$str = fread($rs,filesize($filename));
$head = substr($str,1,8); ".$head ;
//swf ファイルの内容を取得します
$body = substr($str,8);
//ファイルの内容を解凍します
$body = gzuncompress($body);
//ファイルのヘッダーとcontent
$str = $head.$body;
//読み取りファイルストリームを閉じる
fclose($rs);
$ws = fopen("create.swf","w");
//ファイルを書き込みます
fwrite($ws,$str);
//ファイルを閉じてそのままにしておきます
fclose($ws); ------ -------------------------------------------- ------ ------------------------
?>
はどうでしょうか?シンプルさを超えたもの" `
http://www.bkjia.com/PHPjc/319856.html
www.bkjia.com
true