2017-08-28 38 views
0

這是我的代碼zip 1文件:爲什麼ZipArchive工作不正確?

$zipname="C:/xampp/htdocs/test/5/JPN/5/5_1.0.pdf.zip" 
    $zip = new ZipArchive; 
     $zip->open($zipname, ZipArchive::CREATE);      
     $zip->addFile("C:/xampp/htdocs/test/5/JPN/5/5_1.0.pdf");  
     $zip->close(); 

但它夾C郵編:\ enter image description here

爲什麼ZipArchive工作不正確?

+0

的可能的複製[如何使用PHP來壓縮整個文件夾(https://stackoverflow.com/questions/4914750/how-to-zip-a工作-whole-folder-using-php) –

+0

open()返回TRUE或失敗時的錯誤代碼。 'addFile()'和'close()'在失敗時都返回false。如果你檢查這些函數的返回值,你看到了什麼? –

回答

1

您需要在addFile函數中傳遞兩個參數。

根據the documentation

布爾ZipArchive :: addFile(字符串$文件名[,字符串$的localName])

文件名的文件的路徑補充。

ZIP存檔內的localname本地名稱。

這意味着,第一個參數是路徑到文件系統中的實際文件,第二個是路徑&文件名,文件將在歸檔。

下面的代碼會爲你

$zip->addFile("C:/xampp/htdocs/test/5/JPN/5/5_1.0.pdf", "5_1.0.pdf"); 
+0

除了'5_1.0.pdf'不是一個有效的PHP表達式,編譯器觸發解析錯誤並拒絕運行腳本之外,你幾乎都在那裏。 – axiac

+0

哎呀,這是一個錯字。該名稱應該在引號中。 「5_1.0.pdf」像這樣 – siddharth

+0

當然它應該在引號中。使用答案下的編輯鏈接來修復它。 – axiac