01/04/2009, 03:08
|
(Desactivado) | | Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 8 meses Puntos: 1 | |
Comprimir directorio Hola
Necesito zipear el contenido de una carpeta y bajarlo a disco.
Ensayé todas las clases que andan dando vueltas y me quedé con esta. Lo que intento es recorrer todas las imágenes del directorio (sólo imágenes) pero el zip me queda vacío. Código PHP: //folder Name $myfolder = '.'; $tope=0; $njpg=count(glob("$myfolder/*.jpg")); //echo $njpg; $ngif=count(glob("$myfolder/*.gif")); //echo $ngif; $npng=count(glob("$myfolder/*.png")); //echo $npng; $total=$njpg+$ngif+$npng; //echo $total; $to_zip=""; //open folder and read content if (is_dir($myfolder)) { if ($read = opendir($myfolder)) { while ($myfile = readdir($read)) { //verify filetype before of show if ((strpos($myfile, ".gif") > 1) || (strpos($myfile, ".png" ) > 1) || (strpos($myfile, ".jpg" ) > 1) ) { $tope++; if (strpos($myfile, ".jpg")){$present ='<img src="'.$myfolder.'/'.$myfile.'" width="40" height="40" alt="image" /><br />'.$myfile.''; } elseif (strpos($myfile, ".png")){$present ='<img src="'.$myfolder.'/'.$myfile.'" width="40" height="40" alt="image" /><br />'.$myfile.''; } elseif (strpos($myfile, ".gif")){$present ='<img src="'.$myfolder.'/'.$myfile.'" width="40" height="40" alt="image" /><br />'.$myfile.''; } //echo $tope; $lim=$tope-1; $to_zip.='"'; $to_zip.=$myfile; $to_zip.='"'; if($tope<$total) { $to_zip.=','; } $full=$to_zip; // CORREGIDO !!!!!!!!!!!!!!!!!!!!!!!!! } } //close folder closedir($read); } } //echo $full; include("zip.lib.php"); $ziper = new zipfile(); $ziper->addFiles(array($full)); //array of files $ziper->output("sample.zip"); El error está en:
$ziper->addFiles(array($full)); //array of files Es el segundo post esta semana con un problema parecido
Pero si yo reemplazo con el real contenido de $full ahí en la varialbe... todo trabaja perfecto... entonces no puedo entender dónde, qué, cómo corregir.
El contenido de la variable $full es esto:
"583282-st-a.jpg","583282-a.jpg","548099-st-a.jpg","548099-a.jpg","67665-st-a.jpg","67665-a.jpg","827821-st-a.jpg","827821-a.jpg","67681-st-a.jpg","940642-st-a.jpg","940642-a.jpg","67667-st-a.jpg","135279-st-a.jpg","940637-st-a.jpg","940637-a.jpg","67666-st-a.jpg","940641-st-a.jpg","940641-a.jpg","67660-st-a.jpg","67668-st-a.jpg","135280-st-a.jpg","940636-st-a.jpg","940636-a.jpg","135283-st-a.jpg","940638-st-a.jpg","940638-a.jpg","940639-st-a.jpg","940639-a.jpg","135278-st-a.jpg","135277-st-a.jpg","940681-st-a.jpg","940681-a.jpg","940682-st-a.jpg","940682-a.jpg","447847-st-a.jpg","447847-a.jpg","67674-st-a.jpg","67673-st-a.jpg","67673-a.jpg","67671-st-a.jpg","67672-st-a.jpg","135282-st-a.jpg","135282-a.jpg","no_image.gif","67676-st-a.jpg","67677-st-a.jpg","67680-st-a.jpg","92028-st-a.jpg","92028-a.jpg","67678-st-a.jpg"
Si hago un copy/paste y reemplazo por eso mismo anda pero con $full no
Ayuda por favor.
Última edición por Suyta; 01/04/2009 a las 05:55 |