Foros del Web » Programando para Internet » PHP »

Ejecutar codigo luego de descargar archivo.

Estas en el tema de Ejecutar codigo luego de descargar archivo. en el foro de PHP en Foros del Web. buenas gente, como va? Estoy con un problemita en un codigo que estoy armando. El tema es mas o menos asi. En un php el ...
  #1 (permalink)  
Antiguo 04/09/2008, 08:34
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 17 años, 3 meses
Puntos: 2
Ejecutar codigo luego de descargar archivo.

buenas gente, como va?
Estoy con un problemita en un codigo que estoy armando. El tema es mas o menos asi. En un php el usuario selecciona algunos archivos para subir y otras opciones. Se envia todo por post y con los archivos subidos y datos que se sacan de la base se arma un ZIP que se devuelve al usaurio.

El tema es el siguiente, luego de enviar el ZIP al usuario quiero hacer una redireccion a la misma pagina mediante header para limpiar el POST y evitar el F5 pero luego de mandar el zip no se ejecuta mas nada.

A ver si alguien me puede dar alguna idea.

Código PHP:
<?

if ($_POST['post']) {
    
$nombre_arch 'archivo.zip';
    
header ("Content-Disposition: attachment; filename=".$nombre_arch."\n\n");
    
header ("Content-Type: application/zip");
    
header ("Content-Length: ".strlen($_FILES['file']['tmp_name']));
    echo(
$_FILES['file']['tmp_name']);
    
header("Location:http://www.google.com");
    exit;
}

?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form name="elform" method="post">
    <input type="hidden" name="post" value="1" />
    <input type="file" name="file"  />
    <input type="submit" name="submit" value="submit" />
</form>
</body>
</html>

Saludos
Andrés

Última edición por andruqui; 04/09/2008 a las 08:41
  #2 (permalink)  
Antiguo 04/09/2008, 09:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Ejecutar codigo luego de descargar archivo.

Hola andruqui,

Lamentablemente no es posible hacer lo que pides, ya que así esta diseñado el protocolo HTTP, las transmisiones se cortan al finalizar de recibir el ultimo byte, por lo que no puedes redireccionar al final de una transmision.

Saludos.
  #3 (permalink)  
Antiguo 04/09/2008, 11:18
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Ejecutar codigo luego de descargar archivo.

Alguna solucion alternativa para hacer esto? A alguien se le ocurre algo ?
  #4 (permalink)  
Antiguo 04/09/2008, 11:34
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: Ejecutar codigo luego de descargar archivo.

Hola....

En medio de todo, se me ocurre... por que no generas un popup y desde ahí haces todo el proceso de descarga... y en alguna línea(no me preguntes cual) antes de mandar al descargar el archivo, haces un windows.close()....

No sé que tan buena o mala idea sea, no sé si se adapte a lo que necesites, pero fue lo que se ocurrió Quizás te ilumine en algo.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 04/09/2008, 12:22
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Ejecutar codigo luego de descargar archivo.

Si, habia pensado en la opcion del popup, vamos a ver que pasa.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.