Select Page

Das ist in der Tat sehr hilfreich für mich. Ich habe auch ein ähnliches Tutorial geschrieben, ich hoffe, Sie werden es auch gut finden. www.allphptricks.com/create-a-zip-file-using-php-and-download-multiple-files/ ZipArchive-Klassenobjekt für die Zip-Dateierstellung erstellen. Definieren Sie eine Funktion createZip(), um Dateien und Verzeichnisse aus dem angegebenen Verzeichnispfad zu lesen. aber die Datei, die ich vom Server nach dem Download bekomme, gibt die Größe von 226 Bytes In diesem Schritt fügen wir URL-Pfad zum Download zip-Datei fügen wir alle Details wie Ordner, in den wir die Datei und Dateinamen speichern würden einfügen. Wir initialisieren curl, um die Datei herunterzuladen und fügen alle richtigen Header hinzu, um die Datei herunterzuladen, und speichern dann die ZIP-Datei in diesem Ordner. Nun kommen wir zu unserem zweiten Teil, der die heruntergeladene ZIP-Datei extrahiert, wir erstellen ein neues ZIP-Archiv-Objekt und verwenden dann einfach die Open-Funktion, um die ZIP-Datei zu öffnen und die ZIP-Datei in einen bestimmten Ordner zu extrahieren, indem wir die extractTo()-Funktion verwenden. Sie können auch Erstellen, Bearbeiten und Löschen von Dateien mit PHP anzeigen. Ich habe dieses Problem : ZipArchive::close(): Fehler beim Erstellen einer temporären Datei: Berechtigung verweigert in… wissen Sie, was ich tun könnte? Ich arbeite auf localhost Heute, ich werde mit Ihnen teilen, wie man Zip-Datei mit ZipArchive erstellen dann zum Download geben. Also hier werde ich Ihnen sehr einfaches Beispiel geben, um dies zu tun.

Ich habe genau das gleiche Problem erlebt. In meinem Fall waren die Berechtigungen des Ordners, in dem ich die ZIP-Datei erstellen wollte, die alle auf Schreibweise festgelegt waren. Ich änderte es zu lesen und zu schreiben und es funktionierte. Wie diese bei Bedarf Dateien sind auf verschiedenen FTP “$zip->close()” verursacht diesen Fehler: “ZipArchive::close(): Fehler, temporäre Datei zu erstellen: Berechtigung verweigert” Wenn der Benutzer die Seite besucht, wird der Download gestartet. Die heruntergeladene Datei hat den Namen My Zip File Download.zip. Sie können den Namen ändern, indem Sie den Wert von $filename ändern. $download_file = file_get_contents( $file_url ); $zip->addFromString(basename($file_url),$download_file); Wir machen die Header mit Header-Funktion in PHP und der Browser kümmert sich um den Rest. Der von Ihnen angezeigte Dateipfad muss der absolute Pfad sein. Dies sind die beiden Variablen, in denen Sie Informationen über die Zip-Datei bereitstellen: Fügen Sie Content-Länge Header beschreibt Größe der ZIP-Datei in Bytes. Dies ist die Größe eines ZIP-Headers. Anscheinend gibt es keine Daten in der heruntergeladenen ZIP-Datei.

Können Sie also überprüfen, ob die Dateien, die der ZIP-Datei hinzugefügt werden sollen, tatsächlich vorhanden sind (relativ zum Pfad des Download-PHP-Skripts)? Mit dem ZipArchive::OVERWRITE-Flag können Sie die ZIP-Datei überschreiben, wenn sie bereits vorhanden ist. Mit dem ZipArchive::CREATE-Flag erstellt PHP die ZIP-Datei für Sie, wenn sie nicht vorhanden ist. Th ZipArchive::EXC-Flag zeigt einen Fehler an, wenn die Datei bereits vorhanden ist.