php要實現壓縮功能,除了透過安裝perl外掛到server上之外,另一種簡單的方式就是透過include php的class,以下為下載連結
下載pclzip: http://www.phpconcept.net/pclzip/pclzip-downloads
下載後放置到您的php網站底下,然後透過include的方式把該class引用進php文件
zip壓縮後下載到client端
zip上傳後解壓縮
表單
接收程式
if (isset($_FILES['uploadTpl'])) {
$uploadDir = dirname(__FILE__)."/"; //上傳目標資料夾
if ($_FILES['uploadTpl']['size']> 0){
$filename = $_FILES["uploadTpl"]["name"];
if(strrchr($_FILES['uploadTpl']['name'],".") == ".zip") {
copy($_FILES["uploadTpl"]["tmp_name"], $uploadDir.$_FILES['uploadTpl']['name']);
//上船後解壓縮到目前的路徑下
$archive = new PclZip($uploadDir.$_FILES['uploadTpl']['name']);
$v_list = $archive->extract(PCLZIP_OPT_PATH, $uploadDir); /*換成其他路徑即可*/
//解壓完後把zip檔刪掉
unlink($uploadDir.$_FILES['uploadTpl']['name']);
if ($v_list == 0) {
//如果有錯誤終止程式
die("Error : ".$archive->errorInfo(true));
}else{
$optionvalue = str_replace(".zip","",$_FILES['uploadTpl']['name']);
echo '0||<option value="'.$optionvalue.'" selected>'.$optionvalue.'</option>';
}
}else{
echo '只允許zip檔案格式!';
}
}
}else{
echo "無任何資料上傳!";
}
另外,如果要透過jquery的ajax來進行post動作,ajax要有一些設定