Foros del Web » Programando para Internet » PHP »

¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

Estas en el tema de ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador? en el foro de PHP en Foros del Web. Estimados amigos, Recientemente he terminado de montar un proyecto en el que venía trabajando desde hace casi dos años atrás. Una vez en limpio, me ...
  #1 (permalink)  
Antiguo 01/11/2012, 18:11
Avatar de ElectronDT  
Fecha de Ingreso: noviembre-2012
Ubicación: La Paz
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Pregunta ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

Estimados amigos,

Recientemente he terminado de montar un proyecto en el que venía trabajando desde hace casi dos años atrás. Una vez en limpio, me he encontrado con algunas pequeñas dificultades.

Mi sitio web ofrece servicios al sector del fútbol. Mediante un programa cliente para descargar desde este sitio. Pero al tiempo de descargar el archivo instalador el resto de la navegación se detiene mientras dura la descarga.

El procedimiento que estoy utilizando es aplicando la función de readfile tal como indica en el manual de php así:

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$file);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: '.filesize($archivo));
ob_clean();
flush();
readfile($archivo);

He intentado resolver este problema mandando la tarea a segundo plano mediante el uso de las funciones exec() y system(), utilizando las funciones asíncronas de ajax y /usr/bin/php. Pero simplemente no funcionan y aún no he logrado resolver el problema.

Pueden darme alguna orientación o algún ejemplo para conseguir descargas sin afectar la navegación en el explorador?

De antemano les agradezco por sus respuestas.
  #2 (permalink)  
Antiguo 01/11/2012, 18:29
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

¿La descarga la lanzas a una nueva ventana o en la misma?
  #3 (permalink)  
Antiguo 01/11/2012, 18:38
Avatar de ElectronDT  
Fecha de Ingreso: noviembre-2012
Ubicación: La Paz
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

Mediante la directiva target de la etiqueta a, he intentado crear una nueva pestaña que creo podría ser la solución. Es decir mediante _parent pero actúa como _self. Inclusive utilizando el botón derecho del mouse he creando la nueva pestaña. Pero igualmente detiene la navegación. No sé que puedo estar haciendo mal. Alguna idea tal vez?
Gracias por tu respuesta.
  #4 (permalink)  
Antiguo 01/11/2012, 18:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

Si usas _blank lo mandarías a otra ventana. Lo que no estoy seguro es que bloquee la navegación. Esto se da cuando manejas sesiones, si es el caso, tendrías que cerrar el archivo de sesión prematuramente con session_write_close(); en tu archivo de descarga para que no interrumpa lo demás.
  #5 (permalink)  
Antiguo 01/11/2012, 19:08
Avatar de ElectronDT  
Fecha de Ingreso: noviembre-2012
Ubicación: La Paz
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

Efectivamente, estoy utilizando sesiones. Es decir, durante la sesión de usuario éste tiene la posibilidad de descargar el archivo. El problema sería guardar la sesión y volverla abrir? Me parece que resultaría equivalente a detener la navegación. He visto en otros sitios la descarga de archivos pero no me he encontrado con este tipo de problema. Habrá algún truco supongo.
  #6 (permalink)  
Antiguo 01/11/2012, 19:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

No dije cerrar la sesión, sino el archivo de sesión.
  #7 (permalink)  
Antiguo 01/11/2012, 19:18
Avatar de ElectronDT  
Fecha de Ingreso: noviembre-2012
Ubicación: La Paz
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: ¿Cómo puedo descargar archivos sin afectar la navegación en el explorador?

Acabo de probar session_write_close(); al comienzo del código de los header y de todas maneras sigue bloqueando la navegación...
inclusive en otras pruebas he intentado realizar la descarga utilizando script en un archivo aparte... y tampoco

Etiquetas: botones, descargar-fichero, explorador, navegacion
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 08:41.