Heim  >  Artikel  >  Backend-Entwicklung  >  php在线压缩与解压缩SWF文件的代码(修正版)

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

WBOY
WBOYOriginal
2016-07-25 08:55:07943Durchsuche
  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. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn