Foros del Web » Programando para Internet » PHP »

Problema descarga

Estas en el tema de Problema descarga en el foro de PHP en Foros del Web. Pues cuando implemente el script para forzar la descarga de archivos en mi equipo funciono perfecto, pero lo subirlo al servidor, a veces cuando abre ...
  #1 (permalink)  
Antiguo 18/08/2006, 11:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 74
Antigüedad: 13 años, 6 meses
Puntos: 0
Problema descarga

Pues cuando implemente el script para forzar la descarga de archivos en mi equipo funciono perfecto, pero lo subirlo al servidor, a veces cuando abre la ventanita de descarga, se tarda mucho tiempo, a veces no la abre y queda la pagina en blanco y a veces aparece el mensaje de que no se encuentra la pagina solicitada.

echo "<a href=\"descarga.php?archivo=$ruta\" onMouseOver=\"window.status='$archivo';return true\"><font face=\"Berlin Sans FB\" size=4 color=\"black\">$archivo $tama</font></a>";

Esta es la liga para le descarga, en donde $ruta es p.e. "medica/documento.pdf"

Y este es descarga.php

<?php
header ("Content-Type: application/octet-stream");
header ("Content-Type: application/force-download");
header ("Content-Disposition: attachment; filename=" . basename ($_GET["archivo"]));
readfile ($_GET["archivo"]);
?>

Me faltara algo??
O le estara fectando el onMouseOver, sin esto no lo he probado.
__________________
Por muy fuerte que sea la tormenta, al final siempre sale el sol
  #2 (permalink)  
Antiguo 18/08/2006, 11:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Como comentario .. tu código (si lo usas tal cual) es -ultra peligroso e inseguro- por decir lo menos.

Fijate que en en el URL del $archivo que hace tu descarga indico por ejemplo: descarga.php .. cuando no algún típico nombre de archivo tipo: config.php o algo así .. el usuario mal intencionado descargará todo lo que quiera por tu própio script.

Debes validar que archivos puedes bajar .. no dejarlo "libre" como lo haces actualmente.

Por lo demás .. las cabceras HTTP que usas son redundantes . .es decir, prevalece la última que indicas .. o ... realmente no sé como se comportará un cliente y como lo especifica el protocolo HTTP:

header ("Content-Type: application/octet-stream");
header ("Content-Type: application/force-download");

O usas una .. u otra .. pero lo ideal sería que el "content-type" sea el formato MIME del archivo que descargas .. si es un PDF lo que corresponda .. y así con los que uses.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/08/2006, 15:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 74
Antigüedad: 13 años, 6 meses
Puntos: 0
Gracias cluster por la observacion, y bueno si implemente la validacion de archivos a descargar.
Bueno pruebo primero con un solo header, y en caso de que siga con el mismo prob. le cambio el content type.
Entonces el onMouseOver no tiene nada que ver verdad??
Aprovechando el espacio, tengo mi pagina hecha con php nuke y quiero recargar un solo bloque no toda la pagina ya que es un menu en flash, que sugieren hacer.
OK. gracias
__________________
Por muy fuerte que sea la tormenta, al final siempre sale el sol
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 21:57.