Foros del Web » Programando para Internet » PHP »

Descargar archivos en php

Estas en el tema de Descargar archivos en php en el foro de PHP en Foros del Web. Mi pregunta es tal cual. Cómo descargo un archivo en PHP? Ya que tengo este código: Cita: $file = file(getcwd()."/proyecto/".$_POST["archivo"]); $file2 = implode("", $file); header("Content-Type: ...
  #1 (permalink)  
Antiguo 20/11/2009, 15:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 25
Antigüedad: 17 años, 1 mes
Puntos: 0
Descargar archivos en php

Mi pregunta es tal cual.

Cómo descargo un archivo en PHP?

Ya que tengo este código:

Cita:
$file = file(getcwd()."/proyecto/".$_POST["archivo"]);
$file2 = implode("", $file);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$file");
header("Content-Length: ".strlen($file2)."\n\n");
echo $file2;
El problema es que me salen un poco de garabatos y dice algo como:

Warning: Cannot modify headers information - headers already sent by (output started by /../../../../descargar.php in /../../../../descargar2.php on line 65.

Si alguien me pudiera ayudar, estaría MUY AGRADECIDO!!

Saludos..
  #2 (permalink)  
Antiguo 20/11/2009, 15:42
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Descargar archivos en php

Quiere decir que ya mandaste imprimir algo al navegador antes de los header (no se puede hacer eso) Tienes algun echo o html antes ?
  #3 (permalink)  
Antiguo 20/11/2009, 16:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 25
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Descargar archivos en php

Mmm.. la verdad no, tal cual lo ves, es que está..

Me podrías ayudar porfavor con un ejemplo?

Gracias..
  #4 (permalink)  
Antiguo 20/11/2009, 16:21
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Descargar archivos en php

Dice "output started by /../../../../descargar.php". haces un include de ese archivo antes de los headers? Despliegas algo en el?
  #5 (permalink)  
Antiguo 20/11/2009, 16:31
 
Fecha de Ingreso: marzo-2007
Mensajes: 25
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Descargar archivos en php

Mmmm.. nop, lo que ven es lo que está.. :S

Yo la verdad soy bastante nuevo en php, entonces si me podrían ayudar con un ejemplo estaría agradecido!
  #6 (permalink)  
Antiguo 20/11/2009, 16:33
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Descargar archivos en php

Ese es _absolutamente_ todo el codigo del script? porque el error referencia una linea 65...
  #7 (permalink)  
Antiguo 20/11/2009, 17:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 20
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Descargar archivos en php

Te pongo un ejemplo de lo que hago yo:

Código PHP:
$fichero "unfichero.zip";
header"Content-Type: application/octet-stream");
header"Content-Length: ".filesize(realpath($fichero)));
header"Content-Disposition: attachment; filename=".$fichero."");
readfile(realpath($fichero)); 
Espero que te sirva. Uso readfile en vez de echo, para sacarlo por el navegador.
  #8 (permalink)  
Antiguo 20/11/2009, 17:42
 
Fecha de Ingreso: marzo-2007
Mensajes: 25
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Descargar archivos en php

Cita:
Iniciado por flipisnet Ver Mensaje
Te pongo un ejemplo de lo que hago yo:

Código PHP:
$fichero "unfichero.zip";
header"Content-Type: application/octet-stream");
header"Content-Length: ".filesize(realpath($fichero)));
header"Content-Disposition: attachment; filename=".$fichero."");
readfile(realpath($fichero)); 
Espero que te sirva. Uso readfile en vez de echo, para sacarlo por el navegador.
Gracias por el ejemplo, pero lo raro es que con este ejemplo, me sigue saliendo el mismo error.

Tengo una pregunta.

Ese "unfichero.zip" es una ruta web? por decir: www . algo. com/algomas/ unfichero.zip?

o puede ser digamos un path del host (Lo cual estoy haciendo yo): /home/public_html/.../.../unfichero.zip.

Me estoy volviendo loco!!

Ah! y a la pregunta de darkasecas, las líneas anteriores son solo verificación de sesión y tags <html>, <title>, <tables> etc.

Por favor, alguien me puede ayudar??
  #9 (permalink)  
Antiguo 20/11/2009, 23:03
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Descargar archivos en php

Cita:
Iniciado por vashzero Ver Mensaje
Ah! y a la pregunta de darkasecas, las líneas anteriores son solo verificación de sesión y tags <html>, <title>, <tables> etc.

Por favor, alguien me puede ayudar??
Pueeeeeeeeeeeeeeees eso es exactamente lo que te dije, no puedes mandar _NADA_ al navegador antes de los headers, si estas poniendo etiquetas html, eso es "algo" que estas enviando,y por eso marca ese error
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 06:21.