A segunda linha força o navegador a apresentar uma caixa de download ao usuário e exibe o nome filename.zip. A terceira linha é opcional, mas alguns navegadores (principalmente mais antigos) têm problemas em certos casos sem que o tamanho do conteúdo seja especificado.
$ zipfilename deve ler $ zipname - é o nome do arquivo do zip criado como uma string.
Chris
1
Não funciona no abridor de zíper padrão do Windows, mas funciona no win zipper ou 7-zip. Estou tentando adicionar uma imagem na pasta zip e depois fazer o download como zip
RN Kushwaha
36
Este é um exemplo prático de criação de ZIPs em 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();
Você está pronto para trabalhar com php zip lib e também pode usar o 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();?>
Respostas:
Você pode usar a
ZipArchive
classe para criar um arquivo ZIP e transmiti-lo ao cliente. Algo como:e para transmiti-lo:
A segunda linha força o navegador a apresentar uma caixa de download ao usuário e exibe o nome filename.zip. A terceira linha é opcional, mas alguns navegadores (principalmente mais antigos) têm problemas em certos casos sem que o tamanho do conteúdo seja especificado.
fonte
$zip = new ZipArchive;
vez de$zip = new ZipFile;
?Este é um exemplo prático de criação de ZIPs em PHP:
fonte
Crie um arquivo zip e, em seguida, baixe o arquivo, definindo o cabeçalho, leia o conteúdo do zip e envie o arquivo.
http://www.php.net/manual/en/function.ziparchive-addfile.php
http://php.net/manual/en/function.header.php
fonte
Você está pronto para trabalhar com php zip lib e também pode usar o zend zip lib,
http://devzone.zend.com/985/dynamically-creating-compressed-zip-archives-with-php/
e também há php pear lib para este http://www.php.net/manual/en/class.ziparchive.php
fonte