好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

使用php的zlib压缩和解压缩swf文件 - php高级应用

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

我在以前写过怎么使用c#来压缩和解压缩swf文件,解压缩,压缩和读取flash头文件信息需要使用一个开源的链接库,而且使用起来也不是很方便,但是使用php就不一样了,php包含了zlib的链接库,可以直接使用其相关功能,下面是我写的压缩和结压缩swf文件的例子,没有加入判定swf文件是否已经压缩,入需要可以根据文件的第一个字节是'F'或者'C'来判定, 压缩swf文件:

<?php  //-------------------------------------------------------------------------   //文件名   $filename  =  "test.swf" ;  //打开文件   $rs  =  fopen ( $filename , "r" );  //读取文件的数据   $str  =  fread ( $rs , filesize ( $filename ));  //设置swf头文件   $head  =  substr ( $str ,1,8);  $head  =  "C" . $head ;  //获取swf文件内容   $body  =  substr ( $str ,8);  //压缩文件内容,使用最高压缩级别9   $body  = gzcompress( $body , 9);  //合并文件头和内容   $str  =  $head . $body ;  //关闭读取的文件流   fclose( $rs );  //创建一个新的文件   $ws  =  fopen ( "create.swf" , "w" );  //写文件   fwrite( $ws , $str );  //关闭文件留   fclose( $ws );  //------------------------------------------------------------------------   ?> 

解压缩swf文件:

<?php  //----------------------------------------------------------------------------   //文件名   $filename  =  "test.swf" ;  //打开文件   $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给我们的不止是简单...

查看更多关于使用php的zlib压缩和解压缩swf文件 - php高级应用的详细内容...

  阅读:48次