Foros del Web » Programando para Internet » PHP »

Forzar descarga de archivo

Estas en el tema de Forzar descarga de archivo en el foro de PHP en Foros del Web. Hola, para forzar la descarga de archivos use el siguiente código php, pero no me funciona: $theFile = basename($_GET['ruta']); header( "Content-Disposition: attachment; filename=".$theFile."\n\n"); header( "Content-Type: ...
  #1 (permalink)  
Antiguo 19/08/2009, 12:08
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Forzar descarga de archivo

Hola, para forzar la descarga de archivos use el siguiente código php, pero no me funciona:

$theFile = basename($_GET['ruta']);
header( "Content-Disposition: attachment; filename=".$theFile."\n\n");
header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize($_GET['ruta']));
readfile($elArchivo);

el llamado se hace: descargar.php?ruta=xxx/yyy..

buscando información veo que el segundo "header" lo implementan de distintas formas, algunos de la forma mostrada, otros header("Content-Type: application/force-download"); y otros header("Content-Type: application/download");, por lo que no se cuál es la correcta.

La cuestión es que provee usando los tres y ninguno funcionó el error que me da usando IE es: No se puede mostrar la página - HTTP 500 - Error interno del servidor
Internet Explorer
.
Desconozco el motivo, no se si habrá que modificar algo en la configuración de Apache o alguna otra cosa.
Agradezco cualquier ayuda que me puedan dar..
Gracias
  #2 (permalink)  
Antiguo 19/08/2009, 12:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Forzar descarga de archivo

Para forzar un download debes usar force-download. Debes verificar si $theFile esta mostrando la información. Cuando ocurre lo de los errores 500 te sugiero que elimines todas las lineas y que vayas agregandolas poco a poco hasta que vayas encontrando el error. Una vez lo encuentres verifica si esta bien escrito o si escapaste comillas etc etc.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/08/2009, 19:13
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Forzar descarga de archivo

Gracias por tu respuesta Abimaelrc, voy a probar de esa forma a ver si logro determinar el error..
Gracias y Saludos
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 11:32.