Foros del Web » Programando para Internet » PHP »

Descarga de Archivos

Estas en el tema de Descarga de Archivos en el foro de PHP en Foros del Web. Hola que tal, tengo el siguiente script, que no me esta funcionando puesto que cuando descargo un archivo de cualquier tipoy extension, llega dañado a ...
  #1 (permalink)  
Antiguo 04/10/2006, 15:38
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
Descarga de Archivos

Hola que tal, tengo el siguiente script, que no me esta funcionando puesto que cuando descargo un archivo de cualquier tipoy extension, llega dañado a mi ordenador.
Lo mas gracioso, es que en local me funciona barbaro (Uso Windows Server 2003 con Apache y PHP 4.3.11) pero el mismo codigo en el servidor (Linux) no me funciona, como comentaba recien las imagenes me salen como que no se pueden ver y los archivos .zip que estan dañados.

El código es el siguiente
Código PHP:
<?
include('../includes/database.php');
$data=new Db();
$sql="UPDATE descargas d SET descargado=descargado+1 where id_descarga=".$_GET["id"];
$tmp=$data->consulta_db($sql);
$enlace "../".$_GET["url"];
$aux=explode(".",$enlace);
$nom=str_replace(" ","",$_GET["nombre"]);
$nom=$nom.".".$aux[3];
Header("Content-Type: application/octet-stream");
Header("Content-Length: ".filesize($enlace));
Header("Content-Disposition: attachment; filename=$nom");
readfile($enlace);
?>
Todas la rutas y los nombres de los archivos, están bien.

Alguien me puede explicar a que se debe?
Baje muchos ejemplos de aca del foro y de otros lugares y sigue pasando lo mismo.

Desde ya muchas gracias.-
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #2 (permalink)  
Antiguo 05/10/2006, 06:41
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
Probe con estos header's y tampoco funciona

Código PHP:
<?
Header
("Content-Type: application/force-download");
Header("Content-Length: ".filesize($enlace));
Header("Content-Disposition: attachment; filename=$nom");
?>


Tambien probe el Encode-Transfer: binary, probe asignando el tipo de archivo especifico que se iba a bajar por ejemplo "Content-Type: application/zip"

Y no hay forma, hice una prueba con un archivo de texto, al cual le inserte las 10 primeras letras del abecedario, una por linea.

Ahora resulta que cuando bajo ese archivo, ya sea con cualquier navegador, me lo baja pero todas las letras aparecen juntas, no me tomo los enter's en la descarga.

Otra cosa, los archivos estan bien en el servidor, los he bajado en descarga directa (http...sitio.com.ar/archivo.zip) y desde el FTP.

No se cual puede ser el problema, Help Please
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #3 (permalink)  
Antiguo 05/10/2006, 07:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ahora resulta que cuando bajo ese archivo, ya sea con cualquier navegador, me lo baja pero todas las letras aparecen juntas, no me tomo los enter's en la descarga.

Y como generas esos datos? .. que salto de línea usas?. Para un archivo de texto plano debes usar el código:
\r\n

ó

\n

Según sea el S.O. que uses para leer ese archivo y aplicación .. Por ejemplo en windows el "notepad" sólo interpreta los \r\n si mal no recuerdo .. el "Writer" por ejemplo le dá igual el salto de línea. OJO con eso según sea el S.O. que uses para abrir ese archivo y verlo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 05/10/2006, 09:53
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
Si eso estuve viendo, pero de todas formas, lo que me preocupa son las imagenes y los archivos .zip, ya que llegan dañados, los baja mal.
Que es lo que puede pasar en este caso?
Gracias
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
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 09:57.