Código :
<?php include('zipArchive.lib.php'); $zip = new zipArchive(); $dir = "../reportes/"; // directorio a comprimir $directorio=opendir($dir); while ($archivo = readdir($directorio)) { if(!is_dir("$dir/$archivo")) $zip->addFile($dir.'/'.$archivo, $archivo); } closedir($directorio); $nombre = date("d-m-Y_H-i-s"); $nombre .=".zip"; $pathSave = "../dwld/".$nombre; // dwld es donde se deposita el zip $zip->saveZip($pathSave); $zip->downloadZip($pathSave); ?>
Pero! cuando los archivos son muchos no hacia nada (se saturaba), lo midifiqué para que cada 5 archivos genere un zip, y si trabaja bien:
Código :
<?php include('zipArchive.lib.php'); $zip = new zipArchive(); $dir = "../reportes/"; // directorio a comprimir $suma = 0; $sum = 1; $directorio=opendir($dir); while ($archivo = readdir($directorio)) { if(!is_dir("$dir/$archivo")) { $zip->addFile($dir.'/'.$archivo, $archivo); } $suma++; if ($suma == 5){ $nombre = "paq_".$sum."_".date("d-m-Y_H-i-s"); $nombre .=".zip"; $pathSave = "../dwld/".$nombre; // dwld es donde se deposita el zip $zip->saveZip($pathSave); $zip = new zipArchive(); $suma = 0; $sum++; } } closedir($directorio); ?>
Ahora mi problema: Cuando un archivo (de los muchos que hay en el directorio) es muy pesado (20 Mb o mas) se atora. ¿Alguna posible solución?
Gracias por sus aportes.