Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/03/2009, 17:03
desenfocado
 
Fecha de Ingreso: octubre-2005
Mensajes: 10
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Descargar fichero y redireccionar

Cita:
Iniciado por Triby Ver Mensaje
El proceso es "al reves", primero abres la pagina de "redireccion" y desde ahi inicias la descarga del archivo.

En página que quito por no poder poner links busca la informacion de REFRESH, que es la que se utilizaria y, en tu script de descarga solo haces la descarga, ninguna otra accion.

Edito:

No habia leido que quieres regresar a la pagina donde se origino la descarga, entonces la sugerencia de GatorV es mejor, abres la descarga en una ventana nueva y el usuario sigue en la misma pagina.

Estimados Triby y GatorV, creo que me acerco a la solución, os explico como he modificado y el resultado...

Desde la página: mostrar_datos.php , a través de un botón, se lanza el proceso procesa_datos.php , (desde aquí antes intentaba hacer la descarga y redireccionar), en lugar de esto he puesto:

Código PHP:
$_SESSION['genera_xml']=true;
?>
<script language="javascript">
    location.href="mostrar_datos.php";
</script> 
, y en el fichero origen de "mostrar_datos.php", en el código de construcción de la página he puesto:

Código PHP:
//si se ha generado el archivo, lanzo el script de descarga en una ventana nueva
if ($_SESSION['genera_xml']){?>
    <script language="javascript">
        window.open("descargar_xml.php");
    </script>
<?php
}
//inicializo, para que solo descargue cuando se ha generado un nuevo archivo
$_SESSION['genera_xml']=false;
y el archivo descargar_xml.php tiene lo siguiente:

Código PHP:
<?php
  $fichero
="fichero.xml";
  
header"Content-Disposition: attachment; filename=".$fichero);
  
header"Content-Length: ".filesize($fichero));
  
header"Content-Type: aplication/octet-stream; name=".$fichero);  
  
readfile($fichero);
?>
Lo que ocurre, es que... vuelvo a "mostrar_datos.php" sin problema, pero cuando se abre la ventana con el window.open, no se inicia la descarga del xml, se cierra inmediatamente.

Seguro que falta algo, espero vuestra respuesta.

Muchas gracias.