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

发布时间:2020-07-13编辑:脚本学堂
使用php的zlib压缩和解压缩swf文件的代码,没有加入判断swf文件是否已经压缩,如果需要可以根据文件的第一个字节是'F'或者'C'来判断。

注:没有加入判断swf文件是否已经压缩,如果需要可以根据文件的第一个字节是'F'或者'C'来判断

压缩swf文件:

复制代码 代码如下:

<?php
//-----------------------
//文件名
$filename = "test.swf";
//打开文件
$rs = fopen($filename,"r");
//读取文件的数据
$str = fread($rs,filesize($filename));
//设置swf头文件
$head = substr($str,1,8);
$head = "C".$head;
//获取swf文件内容
$body = substr($str,8);
//压缩文件内容,使用最高压缩级别9
$body = gzcompress($body, 9);
//合并文件头和内容
$str = $head.$body;
//关闭读取的文件流
fclose($rs);
//创建一个新的文件
$ws = fopen("create.swf","w");
//写文件
fwrite($ws,$str);
//关闭文件留
fclose($ws);
//--------------------
?>

解压缩swf文件:

复制代码 代码如下:

<?php
//------------
$filename = "test.swf";
//打开文件
$rs = fopen($filename,"r");
//读取文件的数据
$str = fread($rs,filesize($filename));
//设置swf头文件
$head = substr($str,1,8);
$head = "F".$head;
//获取swf文件内容
$body = substr($str,8);
//解压缩文件内容
$body = gzuncompress($body);
//合并文件头和内容
$str = $head.$body;
//关闭读取的文件流
fclose($rs);
//创建一个新的文件
$ws = fopen("create.swf","w");
//写文件
fwrite($ws,$str);
//关闭文件留
fclose($ws);
//--------------------
?>