[原]php在线压缩解压缩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, 0, 8);
11 $head[0] = 'F';
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 ?>
28 解压缩swf文件:
29
30 <?php
31 //----------------------------------------------------------------------------------------------------
32 //文件名
33 $filename = "1000109.swf";
34 //打开文件
35 $rs = fopen($filename, "r");
36 //读取文件的数据
37 $str = fread($rs, filesize($filename));
38 //设置swf头文件
39 $head = substr($str, 0, 8);
40 //$head = 'F' . $head;
41 $head[0] = 'F';
42 /*$head[1] = ('W');
43 $head[2] = ('S');
44 //$head[3] = version;
45 $head[4] = ($str % 256);
46 $head[5] = ($str / 256 % 256);
47 $head[6] = ($str / 256 / 256 % 256);
48 $head[7] = ($str / 256 / 256 / 256 % 256);*/
49 //获取swf文件内容
50 $body = substr($str, 8);
51 //解压缩文件内容
52 $body = gzuncompress($body);
53 //合并文件头和内容
54 $str = $head . $body;
55 //关闭读取的文件流
56 fclose($rs);
57 //创建一个新的文件
58 $ws = fopen("create.swf", "w");
59 //写文件
60 fwrite($ws, $str);
61 //关闭文件留
62 fclose($ws);
63 //----------------------------------------------------------------------------------------------------
64 ?>


 

作者:wc1217 发表于2012-1-9 17:34:27 原文链接
阅读:19 评论:0 查看评论
posted @ 2012-01-09 17:34  无嗔  阅读(289)  评论(0编辑  收藏  举报