當我試圖打開它是由PHP Zip文件生成我的zip文件生成在Windows資源管理器無法打開zip文件,有證據顯示能否它通過PHP Zip文件
「Windows無法打開該文件夾警報。壓縮(壓縮)文件夾 「文件名」無效。「 Windows資源管理器中打開錯誤。
但我可以通過7-zip打開文件。出於某種原因,我必須確保Windows資源管理器可以打開zip文件。當我生成zip文件時是否有任何問題?請幫忙!
function create_a_zip($files = array(),$dest = '',$root_folder,$overwrite = false) {
if(file_exists($dest) && !$overwrite) {
return false;
}
$valid_files = array();
if(is_array($files)) {
foreach($files as $file) {
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive();
if($zip->open($dest,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
return false;
}
foreach($valid_files as $valid_file) {
if(is_dir($valid_file) === true){
foreach(glob($valid_file . '/*') as $file){
$zip->addFile($file, $root_folder . $file);
}
}else if (is_file($valid_file) === true){
$zip->addFile($valid_file, $root_folder . $valid_file);
}
}
$zip->close();
return file_exists($dest);
}
else
{
return false;
}
}
感謝您的建議。但是,我只使用字母,數字,點(。)和下劃線(_)的路徑。所以路線上沒有空白。 – Ywis
非英文字符怎麼樣? – Flot2011
經過幾小時的追蹤代碼,最後我發現路徑名不是問題。在服務器上生成的zip文件是**正確**(可以通過Windows的內置Zip實用程序打開),而下載zip文件**不正確**!文件傳輸有問題嗎?我比較了他們的文件大小,他們完全一樣......無論如何,還是要感謝你的親切幫助! – Ywis