用PHP实现上传的ZIP文件的解压

前不久在浏览网页时,无意中发现搜狐的校友录的主页大巴能够把上传的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的文件会被自动解压缩

<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的文件也要放在该目录中。

+