«
使用php的zlib压缩和解压缩swf文件

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  我在以前写过怎么使用c#来压缩和解压缩swf文件,解压缩,压缩和读取flash头文件信息需要使用一个开源的链接库,而且使用起来也不是很方便,但是使用php就不一样了,php包含了zlib的链接库,可以直接使用其相关功能,下面是我写的压缩和结压缩swf文件的例子:</p><p>  //没有加入判断swf文件是否已经压缩,入需要可以根据文件的第一个字节是'F'或者'C'来判断</p><p>  压缩swf文件:</p><code><?php<br />//--------------------------------------------------------------------------------------------------<br />//文件名<br />$filename="test.swf";<br />//打开文件<br />$rs=fopen($filename,"r");<br />//读取文件的数据<br />$str=fread($rs,filesize($filename));<br />//设置swf头文件<br />$head=substr($str,1,8);<br />$head="C".$head;<br />//获取swf文件内容<br />$body=substr($str,8);<br />//压缩文件内容,使用最高压缩级别9<br />$body=gzcompress($body,9);<br />//合并文件头和内容<br />$str=$head.$body;<br />//关闭读取的文件流<br />fclose($rs);<br />//创建一个新的文件<br />$ws=fopen("create.swf","w");<br />//写文件<br />fwrite($ws,$str);<br />//关闭文件留<br />fclose($ws);<br />//----------------------------------------------------------------------------------------------------<br />?></code></p><p>  解压缩swf文件:</p><code><?php<br />//----------------------------------------------------------------------------------------------------<br />//文件名<br />$filename="test.swf";<br />//打开文件<br />$rs=fopen($filename,"r");<br />//读取文件的数据<br />$str=fread($rs,filesize($filename));<br />//设置swf头文件<br />$head=substr($str,1,8);<br />$head="F".$head;<br />//获取swf文件内容<br />$body=substr($str,8);<br />//解压缩文件内容<br />$body=gzuncompress($body);<br />//合并文件头和内容<br />$str=$head.$body;<br />//关闭读取的文件流<br />fclose($rs);<br />//创建一个新的文件<br />$ws=fopen("create.swf","w");<br />//写文件<br />fwrite($ws,$str);<br />//关闭文件留<br />fclose($ws);<br />//----------------------------------------------------------------------------------------------------<br />?></code></p><p>  怎么样?是不是很简单?呵呵,php给我们的不止是简单...</p>