Objetivo del blog:
El objetivo de este blog es ayudarlo a saber cómo solucionar el problema. el último archivo no está comprimido". Si tiene el mismo problema, este blog lo ayudará. Ejemplo: si hay 4 archivos de texto, solo 3 archivos están comprimidos.
Razón de esto
los
Solución:
Necesitas reemplazar
$ zip = nuevo ZipArchive (); // comprime los archivos de 2 días más antiguos foreach (glob ($ directorio. '/*.txt') como $ a_file) {if (filemtime ($ a_file) <time () - 172800) {// 2 días de más edad 172800 $ filename_array = explotar ("/", $ a_file); $ clave = sizeof ($ filename_array) - 1; $ filename = $ filename_array [$ clave]; $ source_path = $ directorio. '/'; $ zip_file = $ source_path.str_replace ('. txt', '', $ filename). ". zip"; if ($ zip-> open ($ zip_file, ZipArchive :: CREATE)! == TRUE) {exit ("no se puede abrir". $ zip_file. "\ n"); } $ zip-> addFile ($ a_file, $ filename); }} $ zip-> close (); // Reemplazado zip_close ($ zip) por $ zip-> close (); // Mueva 90 días de antigüedad en el Archivo y elimine los archivos que tengan más de 180 días de foreach (glob ($ directorio. '/ *. Zip') como $ a_file) {// elimine los archivos que tengan más de 180 días. if (filemtime ($ a_file) <time () - 15552000) {// 180 días anterior 15552000 unlink ($ a_file); }}
Resumen
En este blog, hemos cambiado la función de cierre de cremallera para solucionar el problema dado.