Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/04/2009, 03:08
Suyta
(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