
14/05/2004, 07:12
|
O_O | | Fecha de Ingreso: enero-2002 Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años, 2 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. |