一.上傳檔案
upload.php
<form method="post" action="test.php" enctype="multipart/form-data">
<table>
<tr>
<td>
<input id="Button1" name="file1" type="file" value="Select File" />
</td>
</tr>
<tr>
<td colspan="4" style="text-align: center">
<input id="Button2" type="submit" value="OK" />
</td>
</tr>
</table>
</form>
PS:
1. 要用 form 及 post 來傳送,且一定要有 enctype="multipart/form-data"
2. input type 要用 file
3. 記得指定 input name
test.php
//搬移上傳之壓縮檔至解壓縮目錄
$upload = $folder . basename($_FILES['file1']['name']);
if(!move_uploaded_file($_FILES['file1']['tmp_name'], $upload))
{
echo "move_uploaded_file error!";
exit;
}
//設定上傳之壓縮檔案權限
if(!chmod($upload, 0777))
{
echo "chmod error!";
exit;
}
PS:
1. move_uploaded_file 會覆蓋舊檔
二.處理壓縮檔
網路上有好心大大提供 class 可使用,連結為 PclZip,有幾個常用的參數以下列出。
-PCLZIP_OPT_PATH : 要解壓縮到哪的路徑。可用於extract()、extractByIndex()。
-PCLZIP_OPT_SET_CHMOD : 設定解壓縮出來的檔案的CHMOD值。可用於extract()、extractByIndex()。
test.php
include("pclzip.lib.php");
//解壓縮檔案並設定權限
$archive = new PclZip($upload);
if($archive->extract(PCLZIP_OPT_PATH, $folder, PCLZIP_OPT_SET_CHMOD, 0777) == 0)
{
echo "PclZip extract error!";
exit;
}
//設定解壓縮後資料夾權限
$path = pathinfo($upload);
$filename = $path['filename'];
$filename = $folder . $filename . "/";
if(!chmod($filename, 0777))
{
echo "chmod error!";
exit;
}
PS:
1. 目前尚不支援 rar 壓縮檔
參考連結
1. http://itisjoe.pixnet.net/blog/post/14758894
2. http://bjack617.blogspot.com/2009/10/php-zip.html
參考連結
1. http://itisjoe.pixnet.net/blog/post/14758894
2. http://bjack617.blogspot.com/2009/10/php-zip.html