標籤:導致 let als 存在 操作 hive windows環境 test win
<?php function addFileToZip($path, $zip) { $handler = opendir($path); //開啟當前檔案夾由$path指定。 while (($filename = readdir($handler)) !== false) { if ($filename != "." && $filename != "..") {//檔案夾檔案名稱字為‘.‘和‘..’,不要對他們進行操作 if (is_dir($path . "/" . $filename)) {// 如果讀取的某個對象是檔案夾,則遞迴 addFileToZip($path . "/" . $filename, $zip); } else { //將檔案加入zip對象 $zip->addFile($path . "/" . $filename); } } } @closedir($path); } $zip = new ZipArchive(); $file=date("YMD").".zip"; fopen($file,‘w‘);//在windows環境下可以省略這句,但是在liunx環境下最好加上,因在有的liunx環境下ZipArchive::CREATE
方法無法自動建立檔案,會導致檔案壓縮失敗。
if ($zip->open($file, ZipArchive::CREATE) ===TRUE) { if(file_exists($file)) { addFileToZip(‘test‘, $zip); //調用方法,對要打包的根目錄進行操作,並將ZipArchive的對象傳遞給方法 }else{ echo "檔案不存在"; } //關閉處理的zip檔案 if($zip->close()){ return true; }else{ return false; } } else { echo "失敗"; }
php 檔案壓縮zip擴充