PHP 解壓 ZIP 中的檔案到指定目錄 (不含 ZIP 中的資料夾路徑)
阿新 • • 發佈:2018-12-14
<?php header('Content-type:text/html;charset=utf-8'); $filename = './xiyanhetong20181213.zip'; // 目標原始檔 $dir = 'test_zip'; // 存放目錄 if(!is_dir($dir)) { mkdir($dir, 0777, true);//建立目錄儲存解壓內容 } if(file_exists($filename)) { $resource = zip_open($filename); while($zip = zip_read($resource)) { if(zip_entry_open($resource, $zip)) { $file_content = zip_entry_name($zip);//獲得檔名,mac壓縮成zip,解壓需要過濾資源庫隱藏檔案 $file_name = substr($file_content, strrpos($file_content, '/') +1); if(!is_dir($file_name) && $file_name) { $save_path = $dir .'/'. $file_name; if(file_exists($save_path)) { echo '資料夾內已存在檔案 "' . $file_name . '" <pre />'; }else { echo $file_name . '<pre />'; $file_size = zip_entry_filesize($zip); $file = zip_entry_read($zip, $file_size); file_put_contents($save_path, $file); zip_entry_close($zip); } } } } zip_close($resource); }