La segunda línea obliga al navegador a presentar un cuadro de descarga al usuario y solicita el nombre filename.zip. La tercera línea es opcional, pero algunos navegadores (principalmente antiguos) tienen problemas en ciertos casos sin que se especifique el tamaño del contenido.
¿Qué se supone que significa la variable $ zipfilename?
Pascal Klein
$ zipfilename debería leer $ zipname - es el nombre de archivo del zip creado como una cadena.
Chris
1
No funciona en el abridor de cremallera predeterminado de Windows, pero funciona en win zipper o 7-zip. Estoy tratando de agregar una imagen en la carpeta zip y luego descargarla como zip
RN Kushwaha
36
Este es un ejemplo práctico de cómo hacer ZIP en PHP:
$zip =newZipArchive();
$zip_name = time().".zip";// Zip name
$zip->open($zip_name,ZipArchive::CREATE);foreach($files as $file){
echo $path ="uploadpdf/".$file;if(file_exists($path)){
$zip->addFromString(basename($path), file_get_contents($path));}else{
echo"file does not exist";}}
$zip->close();
Ya está listo para usar php zip lib y también puede usar zend zip lib,
<?PHP// create object
$zip =newZipArchive();// open archive if($zip->open('app-0.09.zip')!== TRUE){die("Could not open archive");}// get number of files in archive
$numFiles = $zip->numFiles;// iterate over file list// print details of each filefor($x=0; $x<$numFiles; $x++){
$file = $zip->statIndex($x);
printf("%s (%d bytes)", $file['name'], $file['size']);print"
";}// close archive
$zip->close();?>
Respuestas:
Puede usar la
ZipArchive
clase para crear un archivo ZIP y transmitirlo al cliente. Algo como:y para transmitirlo:
La segunda línea obliga al navegador a presentar un cuadro de descarga al usuario y solicita el nombre filename.zip. La tercera línea es opcional, pero algunos navegadores (principalmente antiguos) tienen problemas en ciertos casos sin que se especifique el tamaño del contenido.
fuente
$zip = new ZipArchive;
lugar de$zip = new ZipFile;
?Este es un ejemplo práctico de cómo hacer ZIP en PHP:
fuente
Cree un archivo zip, luego descargue el archivo, estableciendo el encabezado, lea el contenido del zip y genere el archivo.
http://www.php.net/manual/en/function.ziparchive-addfile.php
http://php.net/manual/en/function.header.php
fuente
Ya está listo para usar php zip lib y también puede usar zend zip lib,
http://devzone.zend.com/985/dynamically-creating-compressed-zip-archives-with-php/
y también hay php pear lib para este http://www.php.net/manual/en/class.ziparchive.php
fuente