用PHP實現上傳的ZIP檔案的解壓

weixin_30588675發表於2020-04-05

前不久在瀏覽網頁時,無意中發現搜狐的校友錄的主頁大巴能夠把上傳的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的檔案也要放在該目錄中。

 

轉載於:https://www.cnblogs.com/lily520/p/3413978.html

相關文章