欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php在线压缩与解压缩SWF文件的代码(修正版)

程序员文章站 2022-05-16 10:17:50
...
  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, 0, 8);
  10. $head[0] = 'F';
  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. ?>
复制代码

2,在线解压缩swf文件

  1. //-------------------
  2. //文件名
  3. $filename = "1000109.swf";
  4. //打开文件
  5. $rs = fopen($filename, "r");
  6. //读取文件的数据
  7. $str = fread($rs, filesize($filename));
  8. //设置swf头文件
  9. $head = substr($str, 0, 8);
  10. //$head = 'F' . $head;
  11. $head[0] = 'F';
  12. /*$head[1] = ('W');
  13. $head[2] = ('S');
  14. //$head[3] = version;
  15. $head[4] = ($str % 256);
  16. $head[5] = ($str / 256 % 256);
  17. $head[6] = ($str / 256 / 256 % 256);
  18. $head[7] = ($str / 256 / 256 / 256 % 256);*/
  19. //获取swf文件内容
  20. $body = substr($str, 8);
  21. //解压缩文件内容
  22. $body = gzuncompress($body);
  23. //合并文件头和内容
  24. $str = $head . $body;
  25. //关闭读取的文件流
  26. fclose($rs);
  27. //创建一个新的文件
  28. $ws = fopen("create.swf", "w");
  29. //写文件
  30. fwrite($ws, $str);
  31. //关闭文件留
  32. fclose($ws);
  33. //-------------------
  34. ?>
复制代码