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

发布时间:2019-08-19编辑:脚本学堂
分享一例php实现的压缩与解压缩swf文件的代码,在线压缩与解压缩swf文件,有需要的朋友参考下。

1,在线压缩swf文件
 

复制代码 代码示例:
<?php 
//-----------------  
//文件名  
$filename = "test.swf"; 
//打开文件  
$rs = fopen($filename, "r"); 
//读取文件的数据  
$str = fread($rs, filesize($filename)); 
//设置swf头文件  
$head = substr($str, 0, 8); 
$head[0] = 'F'; 
//获取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); 
//-------------------  
?> 

2,在线解压缩swf文件
 

复制代码 代码示例:
<?php 
//-------------------  
//文件名  
$filename = "1000109.swf"; 
//打开文件  
$rs = fopen($filename, "r"); 
//读取文件的数据  
$str = fread($rs, filesize($filename)); 
//设置swf头文件  
$head = substr($str, 0, 8); 
//$head = 'F' . $head; 
$head[0] = 'F'; 
/*$head[1] = ('W');
$head[2] = ('S');
//$head[3] = version;
$head[4] = ($str % 256);
$head[5] = ($str / 256 % 256);
$head[6] = ($str / 256 / 256 % 256);
$head[7] = ($str / 256 / 256 / 256 % 256);*/ 
//获取swf文件内容  
$body = substr($str, 8); 
//解压缩文件内容  
$body = gzuncompress($body); 
//合并文件头和内容  
$str = $head . $body; 
//关闭读取的文件流  
fclose($rs); 
//创建一个新的文件  
$ws = fopen("create.swf", "w"); 
//写文件  
fwrite($ws, $str); 
//关闭文件留  
fclose($ws); 
//-------------------  
?>