Ziel des Blogs:
Das Ziel dieses Blogs ist es, Ihnen zu helfen, das Problem zu beheben Die letzte Datei wird nicht komprimiert". Wenn Sie mit dem gleichen Problem konfrontiert sind, hilft Ihnen dieser Blog. Beispiel: Wenn 4 Textdateien vorhanden sind, werden nur 3 Dateien komprimiert.
Grund dafür
Das
Lösung:
Sie müssen ersetzen
$ zip = new ZipArchive (); // 2 Tage ältere Dateien für jede (glob ($ directory. '/*.txt') als $ a_file) {if (Dateizeit ($ a_file) <time () - 172800) {// 2 Tage älter 172800 $ filename_array = explodieren ("/", $ a_file); $ key = sizeof ($ filename_array) - 1; $ filename = $ filename_array [$ key]; $ source_path = $ directory. '/'; $ zip_file = $ source_path.str_replace ('. txt', '', $ filename). ". zip"; if ($ zip-> open ($ zip_file, ZipArchive :: CREATE)! == TRUE) {exit ("kann nicht geöffnet werden". $ zip_file. "\ n"); } $ zip-> addFile ($ a_file, $ filename); }} $ zip-> close (); // zip_close ($ zip) durch $ zip-> close () ersetzt; // Verschiebe 90 Tage ältere Personen in das Archiv und entferne die Dateien, die älter als 180 Tage sind, für jeden (glob ($ directory. '/ *. Zip') als $ a_file) {// entferne Dateien, die älter als 180 Tage sind. if (filemtime ($ a_file) <time () - 15552000) {// 180 Tage älter 15552000 unlink ($ a_file); }}
Zusammenfassung
In diesem Blog haben wir die Funktion zum Schließen des Zippens geändert, um das angegebene Problem zu beheben.