2017-08-28 22 views
0

Dies ist mein Code zip 1 Datei:Warum funktioniert ZipArchive nicht korrekt?

$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(); 

Aber es zip aus dem Ordner C: \ enter image description here

Warum ZipArchive nicht korrekt funktioniert?

+0

Mögliche Duplikat [Wie man einen ganzen Ordner mit PHP zip] (https://stackoverflow.com/questions/4914750/how-to-zip-a -whole-Ordner-using-php) –

+0

'open()' gibt entweder TRUE oder einen Fehlercode bei einem Fehler zurück. 'addFile()' und 'close()' geben bei einem Fehler den Wert false zurück. Was sehen Sie, wenn Sie die Rückgabewerte dieser Funktionen überprüfen? –

Antwort

1

Sie müssen zwei Parameter in der addFile-Funktion übergeben.

Nach the documentation

Bool ZipArchive :: addFile (string $ filename [, string $ lokalerName])

Dateiname Der Pfad zur Datei hinzuzufügen.

lokaler Name lokaler Name in ZIP-Archiv. Diese

bedeutet, dass der erste Parameter ist der Pfad zu der eigentlichen Datei im Dateisystem und das zweite ist der Pfad & Dateiname, der die Datei im Archiv haben.

Der folgende Code wird für Sie arbeiten

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

Sie sind fast da, außer dass '5_1.0.pdf' kein gültiger PHP-Ausdruck ist und der Compiler einen Parse-Fehler auslöst und die Ausführung des Skripts verweigert. – axiac

+0

oops, es war ein Tippfehler. Der Name sollte in Anführungszeichen stehen. "5_1.0.pdf" so – siddharth

+0

Natürlich sollte es in Anführungszeichen stehen. Verwenden Sie den Link "Bearbeiten" unter der Antwort, um es zu beheben. – axiac

Verwandte Themen