php专区

 首页 > php专区 > PHP应用 > 常用功能 > 使用php的zlib压缩和解压缩swf文件 - php高级应用

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

分享到:
【字体:
导读:
          我在以前写过怎么使用c 来压缩和解压缩swf文件,解压缩,压缩和读取flash头文件信息需要使用一个开源的链接库,而且使用起来也不是很方便,但是使用php就不一样了,php包含了zlib的链接库...

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

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

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

解压缩swf文件:

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

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

分享到:
PHP和AJAX打造高级RSS聚合器 - php高级应...
PHP和AJAX打造高级RSS聚合器 RSS聚合器是一种非凡适合于使用标准AJAX引擎进行构建的应用程序,然而,要实现对RSS回馈的跨域的AJAX请求往往是很难的,在本文中,我将向你展示如何利用一个简单的PHP函数来实现"桥接"AJAX引擎和RSS内容。 一、引言 现在,开发一个RSS聚合器已经不再是困难的事...
用PHP生成自己的LOG文件 - php高级应用
用PHP生成自己的LOG文件 假如你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧,你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象'304 Not Modified' 和 'Internal Server Error' 一样的错误,你的代码将生成自己的LOG文...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……