Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/09/2006, 10:34
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Deberías usar url_encode() para tu $ruta que propagas en tu link .. sino, tendrás problemas con esos nombres de archivos que contienen espacios (o caracteres acentuados, etc ..)

Código PHP:
echo "<a href=\"descarga.php?archivo=".url_encode($ruta)."\" onMouseOver=\"window.status='$archivo';return true\"><font face=\"Berlin Sans FB\" size=4 color=\"black\">$archivo $tama</font></a>"
A su vez en el script PHP que recibe el dato (descargar.php) no sé si tendrás que usar la función inversa: url_decode() ..

Otro detalle . .No sé para que haces ese "While(1=1)" .. Si quieres tomar la "extensión" de un archivo que viene en un string, puedes usar explode() (eso genera un array) .. usando funciones de array puedes tomar el últimio elemento con un "end()".

Código PHP:
$varexplode(".",$arch); 
$ext=end($var);
if(
$ext=="PDF"){ 
   
// compones tus cabeceras HTTP y envias el archivo al buffer de salida.

Sobre las cabceras HTTP usadas .. no usaría.
header ("Content-type: application/force-download");

Ya lo defines con:
header ("Content-type: application/pdf");

Y si quieres que el documento se vea en línea .. usa:
header ("Content-Disposition: inline; filename=" . basename ($arch));

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.