使用php的zlib壓縮和解壓縮swf文件
下面是我寫的壓縮和結(jié)壓縮swf文件的例子:
//沒有加入判斷swf文件是否已經(jīng)壓縮,入需要可以根據(jù)文件的第一個字節(jié)是'F'或者'C'來判斷
壓縮swf文件: //文件名 $filename = 'test.swf'; //打開文件 $rs = fopen($filename,'r'); //讀取文件的數(shù)據(jù) $str = fread($rs,filesize($filename)); //設(shè)置swf頭文件 $head = substr($str,1,8); $head = 'C'.$head; //獲取swf文件內(nèi)容 $body = substr($str,8); //壓縮文件內(nèi)容,使用最高壓縮級別9 $body = gzcompress($body, 9); //合并文件頭和內(nèi)容 $str = $head.$body; //關(guān)閉讀取的文件流 fclose($rs); //創(chuàng)建一個新的文件 $ws = fopen('create.swf','w'); //寫文件 fwrite($ws,$str); //關(guān)閉文件留 fclose($ws); //------http://soft.knowsky.com/---------------------------------------------------------------------------------------------- ?> 解壓縮swf文件: ; //---------------------------------------------------------------------------------------------------- //文件名 $filename = 'test.swf'; //打開文件 $rs = fopen($filename,'r'); //讀取文件的數(shù)據(jù) $str = fread($rs,filesize($filename)); //設(shè)置swf頭文件 $head = substr($str,1,8); $head = 'F'.$head; //獲取swf文件內(nèi)容 $body = substr($str,8); //解壓縮文件內(nèi)容 $body = gzuncompress($body); //合并文件頭和內(nèi)容 $str = $head.$body; //關(guān)閉讀取的文件流 fclose($rs); //創(chuàng)建一個新的文件 $ws = fopen('create.swf','w'); //寫文件 fwrite($ws,$str); //關(guān)閉文件留 fclose($ws); //---------------------------------------------------------------------------------------------------- ?>
