Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2004, 07:12
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
En teoría .. la cabecera HTTP:

header( "Content-Disposition: attachment; filename=".$TheFile."");

define el "nombre" que se presentará en tu cuadro de dialogo para ofrecer el archivo a descargar y el nombre que tendrá al ser descargado (el que ofrecerá).


Se supone también que:

$fichero = $_REQUEST['fichero'];

Toma toda variable que entre por $_GET o $_POST o $_COOKIE .. así que una llamada desde tu formulario por POST sería tomado igual que si lo haces por el URL directo (en GET sería en ese caso).

Podrías hacer algunas pruebas:

Pon en la cabecera mencionada . .un nombre de archivo fijo y tan sólo apunta tu action del formulario a ese script descargar.php como ya lo haces. (y observa)

así vas descartando problemas en la recepción de esa variable del formulario ..

Por cierto .. el nombre del archivo contiene espacios .. comillas.. ?

Sería bueno aplicar en:

$fichero = trim($_REQUEST['fichero']);

Y de ahí .. tal vez algunas cosas más como stripslashes() o similares para evitar problemas.

Otro detalle que tienes que mejorar es la "seguridad" .. Si le pasas por el URL o como sea a ese script un nombre de archivo completo sin ninguna validación .. podría hacer algo tipo:

descargar.php?url=config.php

donde config.php tendrías tus típicas variables de acceso a tus base de datos .. o datos relevantes.

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