Php y redireccionar
Publicado por Jorge (48 intervenciones) el 09/09/2020 13:35:08
Buenas tardes,
Tengo una pantalla principal con un botón que dice procesar, al darle a ese botón lo que hace es generar un ZIP que contiene documentos en su interior, sale la típica ventana de sistema que pide al usuario si quiere abrirlo o guardarlo. Hasta aquí bien pero resulta que una vez se ha descargado el documento ZIP le indico al código fuente que haga un redireccionamiento a la pantalla anterior y no lo hace.
El código es el siguiente:
El script final no me lo ejecuta. ¿Qué puedo hacer para que una vez descargado el fichero ZIP me redireccione a
paraImprimir.php'?
¡Gracias de antemano!
Saludos.
Tengo una pantalla principal con un botón que dice procesar, al darle a ese botón lo que hace es generar un ZIP que contiene documentos en su interior, sale la típica ventana de sistema que pide al usuario si quiere abrirlo o guardarlo. Hasta aquí bien pero resulta que una vez se ha descargado el documento ZIP le indico al código fuente que haga un redireccionamiento a la pantalla anterior y no lo hace.
El código es el siguiente:
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
45
46
47
48
// Creamos un instancia de la clase ZipArchive
$zip = new ZipArchive();
$nombreZIP1 = $nombreCarpeta.'.zip';
$nombreZIP = str_ireplace(" ","_",$nombreZIP1);
// Creamos y abrimos un archivo zip temporal
$zip->open("$nombreZIP",ZipArchive::CREATE);
//Abrir el directorio donde se encuentran los ficheros descargados
$dir = $to;
$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;
}
}
}
if ($zip->open("$nombreZIP",ZipArchive::CREATE) !== TRUE){
exit("cannot open <$filename>\n"); // puedes lanzar una excepción
}
// USO TU array $files no verifiqué si lo recogiste correctamente
foreach($files as $file){
$localfile = $dir."/".$file;
$zip->addfile($localfile, $file); // las demás opciones por defecto
}
$zip->close();
// Creamos las cabezeras que forzaran la descarga del archivo como archivo zip.
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=".$nombreZIP);
// leemos el archivo creado
readfile($nombreZIP);
// Por último eliminamos el archivo temporal creado
unlink($nombreZIP);//Destruye el archivo temporal
echo"<script type='text/javascript'>
window.location='paraImprimir.php';
</script>";
El script final no me lo ejecuta. ¿Qué puedo hacer para que una vez descargado el fichero ZIP me redireccione a
paraImprimir.php'?
¡Gracias de antemano!
Saludos.
Valora esta pregunta


0