From: Javier Martín Ávila
(
eljavi2k .en. hotmail.com)
Date: Mon Apr 12 2004 - 23:49:32 CEST
Si lo que quieres es que una página PHP (o ASP,
ASP.NET, Perl, JSP, etc.) te
redirija a ese archivo, simplementa manda una cabecera
"Location" con el
nombre del archivo. Si por el contrario, quieres que la
página abra un
archivo y lo mande al cliente SIN que este sepa su
dirección, puedes mandar
la cabecera "Content-Disposition" con el contenido
"attachment; filename="
mas el nombre del archivo y después abrir el archivo y
enviarlo mediante la
propia página. También puedes enviar la
cabecera "Content-Type" con el tipo
MIME del archivo, como "application/msaccess" para una base
de datos de
Access, "application/octet-stream" para ejecutables o
archivos binarios en
general y "text/html" para una página HTML. Ten en
cuenta que usando este
método, los archivos siempre se descargarán, es
decir, el navegador no
intentará abrirlos ni siquiera si son HTML. Para
más inri, también deberías
mandar la cabecera "Content-Length" con el tamaño del
archivo.
Así que los pasos son:
1.- Cabecera "Content-Type" con el tipo MIME del archivo,
deducido por
ejemplo de su extensión (o "application/octet-stream"
para binarios
genéricos)
2.- Cabecera "Content-Length" con el tamaño del
archivo
3.- Cabecera "Content-Disposition" con el contenido
"attachment; filename="
más el nombre del archivo en cuestión
4.- Los datos del propio archivo
Así que, por ejemplo, al pedir una imagen GIF, el asunto quedaría así:
(cliente)
GET /php/descargar_archivo.php?nombreArchivo=modificar.gif
HTTP/1.1
(servidor)
HTTP/1.1 200 OK
X-Powered-By: PHP 4.3.5
Content-Length: 864
Content-Type: image/gif
Content-Disposition: attachment; filename=modificar.gif
GIF89a ÷ ? ? ?? ?? ?
??ÀÀÀÀÜÀ¦Êð .en.
` ? À à .en. .en. .en. .en. ` .en. ? .en.
.en. À .en. à .en. ` ` .en. ` `` ?` ` À` à` ? ?
.en. ? `? ?? ? À? à? .en. ` ? À
à À À .en. À `À ?À
À ÀÀ àÀ à à
.en. à `à ?à à Àà
àà .en. .en. .en. .en. ` .en. ? .en. .en. À .en. à .en.
.en. .en. .en. .en. ` .en. ? .en. .en. À .en. à .en. .en. .en. .en. .en. .en. .en. .en. ` .en. .en. ? .en. .en.
.en. .en. À .en. .en. à .en. .en. ` .en. ` .en. .en. ` .en. `` .en. ?` .en. ` .en. À` .en. à` .en.
? .en.
? .en. .en. ? .en. `? .en. ?? .en. ? .en. À? .en. à? .en. .en. .en. .en. .en. ` .en. ? .en. .en. À
.en. à .en. À .en. À .en. .en. À .en. `À .en. ?À .en.
À .en. ÀÀ .en. àÀ .en. à .en.
à .en. .en. à .en. `à .en. ?à .en.
à .en. Àà .en. àà .en. ? ? .en. ?` ?? ?
?À ?à ? ? ? .en. ?` ?? ? ?À ?à ?
.en. ?
.en. ? .en. .en. ?` .en. ?? .en. ? .en. ?À .en. ?à .en. ? `? `? .en. `?``??`?
`?À`?à`? ?? ?? .en. ??`????? ??À??à??
? ? .en.
?` ?? ? ?À ?à ? À?
À? .en. À?`À??À?
À?ÀÀ?àÀ? à?
à? .en. à?`à??à?
à?Àà?àà? À
À .en. À`
À? À ÀÀ Àà À
À À .en. À` À? À
ÀÀ Àà À .en. À
.en. À .en. .en. À` .en. À? .en. À
.en. ÀÀ .en. Àà .en. À `À
`À .en. `À``À?`À
`ÀÀ`Àà`À ?À
?À .en. ?À`?À??À
?ÀÀ?Àà?À À
À .en. À` À? À ÀÀ
Àà À ÀÀ
ÀÀ .en. ÀÀ`ÀÀ?ÀÀ
ÀÀÿûð
¤???ÿÿÿ ÿ ÿÿ
ÿÿ ÿ ÿÿÿÿÿ!ù
ù , .en. = ó Apÿ <X .en. ¾?
#>"oÃ?ÿ,^,¨qáE?!?üX"I"HfL9
Ê!z"90 ;
Ahora mismo no tengo disponible un código en PHP para
demostrártelo, pero
puedo preparártelo en un par de días si me lo
pides. Que aproveche
>------Habbit------>
----------------------------------------------------------------------------
-----------------------------------------------------------------------
"Yoviel Rodriguez Cepero" <
Yoviel .en. uclv.edu.cu> escribió en el mensaje
news:0B9CB2EB85BCD64DAFE8FA632AA72F91029116 .en. mail-01.uclv.edu.cu...
Hola lista, quisiera saber si hay alguna manera de hacer que
al pinchar un
boton se mande a descargar un fichero determinado. Pudiera
ser un simple
codigo de formularios o codigo de php.
Atte. Yoviel
-- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:47 CEST