Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   descargar archivo desde php (https://www.clubdelphi.com/foros/showthread.php?t=44467)

gulder 07-06-2007 00:03:46

descargar archivo desde php
 
hola foro como andan espero que bien, yo por aqui peleando con un problemilla, lo que me esta pasando es lo siguiente, estoy haciendo una pagina para subir y bajar documentos, la parte se subir documentos ya la tengo pero haora el problema esta en la parte de descargarlos, cuando yo subo un documento yo guardo la siguiente informacion en una base de datos:

Código:


1.. id_documento
2.. nombre        //  nombre completo y extencion
3.. path_d        //    la direccion donde estoy guardando el
                      //    documento hasta  el momento en C:\Documetos\
4.. descripcion  //    breve descripcion del documento
5.. id_image      //    el id de una imagen alusiva al docuemnto

tengo una opcion que permite al usuario buscar algun documento y me muestra una lista sobre los documento que encontro, haora quiero que el usuario pueda descargar el documento encontrado, y al momento de ser descargado me muestre el mensaje para escoger direccion a donde guardar que seria lo mismo que el savedialogo en delphi, por que estube probando un codigo que me encontre de internet y lo descargo pero directo en C:\ y no le da la opcion de escoger la direccion a guardar gracias de antemano gulder....

gulder 07-06-2007 02:06:03

parece que lo encontre
 
hola foro como andan miren encontre el siguiente codigo:


Código PHP:

<?php
    $f 
$_GET["f"];
    
header("Content-type: application/octet-stream");
    
header("Content-Disposition: attachment; filename=\"$f\"\n");
    
$fp=fopen("$f""r");
    
fpassthru($fp);
?>

lo guarde como bajar.php y donde esta ubicado tengo un archivo txt llamado logula.txt yn escribo la siguiente linea de codigo:

Código PHP:

//127.0.0.1/descargar.php?f=logula.txt 

bueno esto funciona pero como le hago si el documento esta en una carpeta que se encuentra justo donde esta el php por ejemplo si logula esta en la carpeta documentos, la cual se encuentra justo donde esta el php, probe de la siguiente manera:

Código PHP:

//127.0.0.1/descargar.php?f=documentos/logula.txt 

y no funciona como le hago gracias de antemano gulder

dec 07-06-2007 08:28:26

Hola,

Yo trataría de determinar el archivo a descargar partiendo de su ID y no se ruta en el Servidor, por varios motivos. Es más sencillo y menos problemático hacerlo mediante su ID, pero, también así evitamos que nadie sepa de cómo está organizado el sistema de archivos... si bien no sé hasta qué punto esto puede representar un verdadero problema de seguridad.

La idea es que es bastante más sencillo esto:

Código:

http://www.misitio.com/descarga.php?id=123
Que esto otro:

Código:

http://www.misitio.com/descarga.php?id=/directorio/b/archivo.txt


La franja horaria es GMT +2. Ahora son las 22:15:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi