导航

yaosansi's Blog

当你背向太阳的时候,你只会看到自己的阴影!能力是有限的,努力无限的!

« C#解压缩,压缩和读取flash头文件信息swf文件结构解析 »

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

  • 本站大部分内容从网上收集,收集目的仅供研究、学习。涉及版权或不希望收录您的文章请您及时与我联系。
  • 本站IM群,请自行选择。请各位朋友按照自己喜好加入。加入群后请及时发言,防止被清理。谢谢您的合作!!!
  • QQ群:Y①WEB开发(ASP.NET)号码:7351660 QQ群:Y②WEB开发(ASP+.NET)号码:11864905
  • QQ群:Y③WEB开发(DIV+CSS)号码:16610506 QQ群:Y④WEB开发(JS+AJAX)号码:16143998
  • QQ群:Y⑤WEB开发(新手)号码:12777715 MSN群:yaosansi[at]126.com

原文:http://www.roading.net/blog/post_100.html

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

   1: <?php
   2: //--------------------------------------------------------------------------------------------------
   3: //文件名
   4: $filename = "test.swf";
   5: //打开文件
   6: $rs = fopen($filename,"r");
   7: //读取文件的数据
   8: $str = fread($rs,filesize($filename));
   9: //设置swf头文件
  10: $head = substr($str,1,8);
  11: $head = "C".$head;
  12: //获取swf文件内容
  13: $body = substr($str,8);
  14: //压缩文件内容,使用最高压缩级别9
  15: $body = gzcompress($body, 9);
  16: //合并文件头和内容
  17: $str = $head.$body;
  18: //关闭读取的文件流
  19: fclose($rs);
  20: //创建一个新的文件
  21: $ws = fopen("create.swf","w");
  22: //写文件
  23: fwrite($ws,$str);
  24: //关闭文件留
  25: fclose($ws);
  26: //----------------------------------------------------------------------------------------------------
  27: ?>

解压缩swf文件:

   1: <?php
   2: //----------------------------------------------------------------------------------------------------
   3: //文件名
   4: $filename = "test.swf";
   5: //打开文件
   6: $rs = fopen($filename,"r");
   7: //读取文件的数据
   8: $str = fread($rs,filesize($filename));
   9: //设置swf头文件
  10: $head = substr($str,1,8);
  11: $head = "F".$head;
  12: //获取swf文件内容
  13: $body = substr($str,8);
  14: //解压缩文件内容
  15: $body = gzuncompress($body);
  16: //合并文件头和内容
  17: $str = $head.$body;
  18: //关闭读取的文件流
  19: fclose($rs);
  20: //创建一个新的文件
  21: $ws = fopen("create.swf","w");
  22: //写文件
  23: fwrite($ws,$str);
  24: //关闭文件留
  25: fclose($ws);
  26: //----------------------------------------------------------------------------------------------------
  27: ?>

怎么样?是不是很简单?呵呵,php给我们的不止是简单```

原创文章如转载,请注明:转载自http://www.yaosansi.com
订阅本站,阅读更多文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

Copyright 2005-2008 yaosansi'site All Rights Reserved.

感谢Denny·G 为本站提供FTP空间
辽ICP备05021434号

Search

  •  

赞助商广告

控制面板

最新评论及回复

最近发表