用PHP实现上传的ZIP文件的解压(转)
前不久在浏览网页时,无意中发现了www.chinaren.com的主页大巴能够把上传的ZIP文件自动的解压,感到非常的有意思,更让我感兴趣的是它的功能是用PHP来,考虑到我也会一些PHP,所以,就决定试试。
经过我一番的查找,在PHP的函数库中只找到了个ZLIB的函数还跟压缩有点关系,但是使我失望的是他没能解ZIP的文件(哎….只好放弃了,大家可不要说我没毅力呀!!!)。不过俗话说的好:功夫不负有心人嘛!最后还是让我找到了解决的方法,就是通过PHP的程序执行函数来实现这个功能,因为现在能解ZIP文件的东西实在是太多啦(你要是不信,可以到有下载软件的地方找找看,保准你不会失望的,我的话不会错呦)。
下面就是该程序的原文件:
#upload.php
table border='0' >
form ENCTYPE="multipart/form-data" action="upsave.php" method="post">
tr>
td>如果是*.ZIP的文件会被自动解压缩br>
INPUT NAME="MyFile" TYPE="File" size="50">
/td>
/tr>
tr>
td colspan='2' align="center">
input type="Submit" value=" 上传 " class=iwhite>
input type="reset" value=" 重填 " class=iwhite>
/td>
/tr>
/table>
/body>
/html>
//upsave.php
//保存上传的文件
$filename="$MyFile_name";
copy($MyFile,"$filename");
unlink($MyFile);
//判断是否是ZIP文件
$expand_name=explode(".",$filename);
if($expand_name[1] == "zip" or $expand_name[1] == "ZIP")
{
$str="pkunzip.exe -e $filename ";
exec($str);
unlink($filename);
}
?>
以上的程序我已经测试过,只要放在服务器上就可以了,但是该目录要有写的权限。还有一个pkunzip.exe的文件也要放在该目录中,该文件已经放在了压缩包中
&nb