Foros del Web » Programando para Internet » PHP »

Ayuda con descargas de archivos.

Estas en el tema de Ayuda con descargas de archivos. en el foro de PHP en Foros del Web. Buenas: Ante todo muchas gracias porque me habéis ayudado mucho anteriormente. Quería saber si me podíais ayudar en un problema que me ocurre. Tengo una ...
  #1 (permalink)  
Antiguo 02/12/2008, 05:35
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 7 meses
Puntos: 0
Ayuda con descargas de archivos.

Buenas:
Ante todo muchas gracias porque me habéis ayudado mucho anteriormente.
Quería saber si me podíais ayudar en un problema que me ocurre.
Tengo una pagina que lee los archivos de un directorio y crea un link para descargar dicho archivo. El problema es que el archivo descarga en una carpeta temporal y lo abre la aplicación a la que corresponde (windows media, word, etc...).
He leído que para que baja el archivo sin abrir ninguna aplicación hay que enviar las cabeceras primero.
Por lo tanto he hecho un primer script donde lee los archivos del directorio seleccionado y crea los links. Es este:

//abrimos la carpeta
$dir = opendir($path);

//Mostramos los archivos
$contamos =1;
while ($elemento = readdir($dir))
{
if ($elemento != "." && $elemento !="..")
{
$archivo = "tribeca/".$elemento;
if ($contamos%2==0)
{
echo ("<a href='descargandotribeca.php?id=$elemento'>");
echo ("<input name='campo' type='text' value = '$elemento' disabled = 'disabled' size = '30'/>");
echo ("<br />");
}else {
echo ("<a href='descargandotribeca.php?id=$elemento'>");
echo ("<input name='campo' type='text' value = '$elemento' disabled = 'disabled' size = '30'/>");
}
$contamos = ++$contamos;
}
}
//Cerramos la carpeta
closedir($dir);
?>

y la descarga se recibe en el segundo script que es este (descargandotribeca.php):

<?
session_start ();
$id = $_GET[elemento];
$enlace = "tribeca/".$id;
header ("Content-Disposition: attachment; filename=".$id."\n\n");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
?>

El problema es que no me descarga el archivo correspondiente, sino el propio descargandotribeca.php.

Tambien he probado a colocar las etiquetas <html> antes de los header, pero me da error de cabeceras ya enviadas.
Donde puede estar el fallo?.

Muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 02/12/2008, 06:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con descargas de archivos.

Nadie puede ayudarme?
  #3 (permalink)  
Antiguo 02/12/2008, 09:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con descargas de archivos.

Nadie tiene ni idea de como puedo resolver el problema?.
Gracias.
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 20:32.