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.
