Ich benutze ZipArchiv:
%Vor%Ich kann die Liste der Dateien sehen, aber am Ende kann ich die Zip-Datei, die erstellt werden soll, nicht finden. Und ich bekomme keine Fehler / Ausnahmen von ZipArchive ...
bearbeiten:
Ich habe print $zip->getStatusString();
nach $zip->close();
und es wird gedruckt: Datei kann nicht geöffnet werden: Berechtigung verweigert ". Was bedeutet das? Ich weiß sicher, dass jedes Verzeichnis beschreibbar ist, bc ich kann neue Dateien mit PHP darin erstellen ...
edit 2:
%Vor%es druckt das, so dass das Verzeichnis beschreibbar ist. Fühlt sich an als wäre ich in der Twilight Zone ...
Zwei Kommentare von php.net
Wenn Sie einer ZIP-Datei mehrere Dateien hinzufügen und Ihr $ zip- & gt; close () - Aufruf FALSE zurückgibt, stellen Sie sicher, dass alle hinzugefügten Dateien tatsächlich vorhanden sind. Offenbar gibt $ zip- & gt; addFile () TRUE zurück, auch wenn die Datei nicht existiert. Es empfiehlt sich, jede Datei mit file_exists () oder is_readable () zu überprüfen, bevor Sie $ zip- & gt; addFile () aufrufen.
und
Vergessen Sie nicht zu überprüfen, dass die Zip nicht leer ist, Leute - sonst wird die Zip überhaupt nicht erstellt, und der Server wird keine Warnung ausgeben!
Klingt so, als hätten Sie ein Berechtigungsproblem, entweder beim Schreiben in die ZIP-Datei oder beim Lesen der Dateien, die es zippen soll.
Ich würde eine Kombination aus file_exists
, is_readable
und is_writable
verwenden, um herauszufinden, welche davon das Problem verursacht.
Stellen Sie sicher, dass:
file_exists()
und is_readable()
, bevor Sie $zip->addFile()
aufrufen). .
und ..
aus. $zip['numFiles'] > 0
). $zip->close()
gibt TRUE
. Tags und Links php zip file ziparchive