php zlib壓縮和解壓縮swf文件的代碼
更新時(shí)間:2008年12月30日 15:42:27 作者:
我在以前寫過(guò)怎么使用c#來(lái)壓縮和解壓縮swf文件,解壓縮,壓縮和讀取flash頭文件信息
使用php就不一樣了,php包含了zlib的鏈接庫(kù),可以直接使用其相關(guān)功能,下面是我寫的壓縮和結(jié)壓縮swf文件的例子:
//沒(méi)有加入判斷swf文件是否已經(jīng)壓縮,入需要可以根據(jù)文件的第一個(gè)字節(jié)是'F'或者'C'來(lái)判斷
壓縮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)容,使用最高壓縮級(jí)別9
$body = gzcompress($body, 9);
//合并文件頭和內(nèi)容
$str = $head.$body;
//關(guān)閉讀取的文件流
fclose($rs);
//創(chuàng)建一個(gè)新的文件
$ws = fopen("create.swf","w");
//寫文件
fwrite($ws,$str);
//關(guān)閉文件留
fclose($ws);
//----------------------------------------------------------------------------------------------------
?>
解壓縮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)建一個(gè)新的文件
$ws = fopen("create.swf","w");
//寫文件
fwrite($ws,$str);
//關(guān)閉文件留
fclose($ws);
//----------------------------------------------------------------------------------------------------
?>
怎么樣?是不是很簡(jiǎn)單?呵呵,php給我們的不止是簡(jiǎn)單“`
//沒(méi)有加入判斷swf文件是否已經(jīng)壓縮,入需要可以根據(jù)文件的第一個(gè)字節(jié)是'F'或者'C'來(lái)判斷
壓縮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)容,使用最高壓縮級(jí)別9
$body = gzcompress($body, 9);
//合并文件頭和內(nèi)容
$str = $head.$body;
//關(guān)閉讀取的文件流
fclose($rs);
//創(chuàng)建一個(gè)新的文件
$ws = fopen("create.swf","w");
//寫文件
fwrite($ws,$str);
//關(guān)閉文件留
fclose($ws);
//----------------------------------------------------------------------------------------------------
?>
解壓縮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)建一個(gè)新的文件
$ws = fopen("create.swf","w");
//寫文件
fwrite($ws,$str);
//關(guān)閉文件留
fclose($ws);
//----------------------------------------------------------------------------------------------------
?>
怎么樣?是不是很簡(jiǎn)單?呵呵,php給我們的不止是簡(jiǎn)單“`
相關(guān)文章
PHP實(shí)現(xiàn)下載斷點(diǎn)續(xù)傳的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)下載斷點(diǎn)續(xù)傳的方法,通過(guò)自定義函數(shù)來(lái)實(shí)現(xiàn)PHP的斷點(diǎn)續(xù)傳下載方法,涉及文件的常見操作與指針和緩沖的用法,代碼中備有較為詳盡的注釋便于閱讀和理解,需要的朋友可以參考下2014-11-11php編程實(shí)現(xiàn)獲取excel文檔內(nèi)容的代碼實(shí)例
最近剛剛做了個(gè)導(dǎo)入excle文件,群發(fā)短信的功能,在這里總結(jié)下用php獲取excle文件數(shù)據(jù)的方法2011-06-06PHP中的排序函數(shù)sort、asort、rsort、krsort、ksort區(qū)別分析
在php中自帶了大量了數(shù)組排序函數(shù),下面我們一一來(lái)介紹一下關(guān)于php數(shù)組排序的用法吧。2014-08-08php獲取后臺(tái)Job管理的實(shí)現(xiàn)代碼
從數(shù)據(jù)庫(kù)中取出job 隊(duì)列 創(chuàng)建新的進(jìn)程進(jìn)行執(zhí)行 等待job 結(jié)束2011-06-06在WINDOWS中設(shè)置計(jì)劃任務(wù)執(zhí)行PHP文件的方法
在網(wǎng)上找了些WINDOWS執(zhí)行PHP的計(jì)劃任務(wù)的方法,有一個(gè)寫得很全,可惜在我這竟然沒(méi)通過(guò)。最后不得不綜合各門派的方法,才能在我這運(yùn)行成功2011-12-12PHP Session 變量的使用方法詳解與實(shí)例代碼
在php中Session經(jīng)常用來(lái)驗(yàn)證用戶注冊(cè)或登錄之后的驗(yàn)證了,下面我來(lái)總結(jié)session變量的一些常用實(shí)例與用法介紹2013-09-09