gracias amigo por la respuesta pero buscando y buscando y probando y probando descubrí esta solución
Primero crear un archivo con el nombre de "zipfile.php" por ejemplo
con esto:
Código PHP:
Ver original<?
class zip{
var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
var $old_offset = 0;
function add_dir($name) {
$fr = "\x50\x4b\x03\x04";
$fr .= "\x0a\x00";
$fr .= "\x00\x00";
$fr .= "\x00\x00";
$fr .= "\x00\x00\x00\x00";
$fr .= $name;
$this -> datasec[] = $fr;
$cdrec = "\x50\x4b\x01\x02";
$cdrec .="\x00\x00";
$cdrec .="\x0a\x00";
$cdrec .="\x00\x00";
$cdrec .="\x00\x00";
$cdrec .="\x00\x00\x00\x00";
$ext = "\x00\x00\x10\x00";
$ext = "\xff\xff\xff\xff";
$cdrec .= pack("V", 16 ); $cdrec .= pack("V", $this -> old_offset ); $cdrec .= $name;
$this -> ctrl_dir[] = $cdrec;
$this -> old_offset = $new_offset;
return;
}
function add_fileFromString($data,$name){
$zdata = substr ($zdata, 2, -4); $fr = "\x50\x4b\x03\x04";
$fr .= "\x14\x00";
$fr .= "\x00\x00";
$fr .= "\x08\x00";
$fr .= "\x00\x00\x00\x00";
$fr .= pack("V",$unc_len); $fr .= $name;
$fr .= $zdata;
$fr .= pack("V",$unc_len);
$this -> datasec[] = $fr;
$cdrec = "\x50\x4b\x01\x02";
$cdrec .="\x00\x00";
$cdrec .="\x14\x00";
$cdrec .="\x00\x00";
$cdrec .="\x08\x00";
$cdrec .="\x00\x00\x00\x00";
$cdrec .= pack("V",$crc); $cdrec .= pack("V",$c_len); $cdrec .= pack("V",$unc_len); $cdrec .= pack("V", 32 ); $cdrec .= pack("V", $this -> old_offset );
$this -> old_offset = $new_offset;
$cdrec .= $name;
$this -> ctrl_dir[] = $cdrec;
}
function add_file($data, $name) {
$zdata = substr ($zdata, 2, -4); $fr = "\x50\x4b\x03\x04";
$fr .= "\x14\x00";
$fr .= "\x00\x00";
$fr .= "\x08\x00";
$fr .= "\x00\x00\x00\x00";
$fr .= pack("V",$unc_len); $fr .= $name;
$fr .= $zdata;
$fr .= pack("V",$unc_len);
$this -> datasec[] = $fr;
$cdrec = "\x50\x4b\x01\x02";
$cdrec .="\x00\x00";
$cdrec .="\x14\x00";
$cdrec .="\x00\x00";
$cdrec .="\x08\x00";
$cdrec .="\x00\x00\x00\x00";
$cdrec .= pack("V",$crc); $cdrec .= pack("V",$c_len); $cdrec .= pack("V",$unc_len); $cdrec .= pack("V", 32 ); $cdrec .= pack("V", $this -> old_offset );
$this -> old_offset = $new_offset;
$cdrec .= $name;
$this -> ctrl_dir[] = $cdrec;
}
$data = implode("", $this -> datasec); $ctrldir = implode("", $this -> ctrl_dir);
return
$data .
$ctrldir .
$this -> eof_ctrl_dir .
"\x00\x00";
}
}
?>
luego en nuestro script agregar esto
Código PHP:
Ver originalinclude("zipfile.php");
$zip = new zip();
$zip->add_dir("imagenes"); //aca se crea una carpeta donde se guardan los archivos
//primero la ruta de la imagen,carpeta/nombre de la foto
$zip->add_file("/images/foto2.jpg","imagenes/foto.jpg");
$zip->add_file("/images/foto3.jpg","imagenes/foto2.jpg");
header("Content-type: application/force-download"); header("Content-Transfer-Encoding: Binary"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"nombre_del_zip{$format}.zip\"");
con eso se forzara la descarga espero que a alguien le sirva
Saludos.