Comprimir contenido de carpeta
Publicado por jose (71 intervenciones) el 04/02/2020 16:35:26
Buenas tardes,
Necesito comprimir el contenido de una carpeta y descargarla a través de un botón de html. Mi problema es que el archivo que baja está vació.
Sin embargo si que lee al hacer unen el bucle for me pinta el contenido del directorio. Pero no llega a añadir el contenido en un zip , el después de descargarlo aparece vacío.
Llamo al código de creacción de zip con un input submin
Agradecería cualquier tipo de ayuda.
Muchas gracias,
Necesito comprimir el contenido de una carpeta y descargarla a través de un botón de html. Mi problema es que el archivo que baja está vació.
Sin embargo si que lee al hacer un
1
echo $dir.$file
1
$zip->addFile($dir.$file , $dir.$file);
Llamo al código de creacción de zip con un input submin
1
<input class="button" type="submit" name="createzip" value="Comprimir archivos para la renta" />
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
if (isset($_POST['createzip'])) {
$dir = "../renta/";
$dir_open=opendir($dir);
$files = array();
while ($current = readdir($dir_open)){
if( $current != "." && $current != "..") {
if(is_dir($dir.$current)) {
// echo $dir.$current.'/';
}
else {
//echo $current;
$files[] = $current;
}
}
}
$zip = new ZipArchive;
for($i=0; $i<count( $files ); $i++){
$file=$files[$i];
echo $file."</br>";
$zip->addFile($dir.$file , $dir.$file);
}
$filename = 'Renta_J&J.zip';
//abrimos el directorio y lo asignamos a $da
$zip->open($filename, ZipArchive::CREATE);
$zip->close();
header("Content-type: application/zip");
header("Content-disposition: attachment; filename='$filename");
header("Content-length: " . filesize($filename));
header("Pragma: no-cache");
header("Expires: 0");
readfile("$filename");
unlink($filename);
}
Agradecería cualquier tipo de ayuda.
Muchas gracias,
Valora esta pregunta


0