Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 08-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Para mi que estaría más correcto así:

Código PHP:
$file="/home/web/archivo.txt";
$filename "otro_nombre_de_archivo.txt";

Header "Content-Type: application/octet-stream");
Header "Content-Length: ".filesize($file));
Header"Content-Disposition: attachment; filename=$filename");
readfile($file); 
$file es el archivo real, cuya ubicación puede estar incluso fuera del árbol de directorio web, esto es, fuera de htdocs, de manera que no es directamete alcanzable desde fuera.

$filename es el nombre que deseas que le aparezca al usuario, puede ser cualqiera que se te ocurra.

Los header le indican al navegador del usuario que lo que el servidor manda tiene por nombre $filename y le indica el tamaño de forma que el navegador pueda poner la barra de progreso de descarga.

readfile simplemente lee el archivo (el real) y lo escupe hacia el navegador.

El primer header entonces, indica alnavegador (creo) que es una archivo a descargar y no algo que presentar en la ventana.

El script donde colocarías este código tendría primero que revisar si se ha introducido la clave.

El usuario únicamente verá que se está descargando un archivo de nombre 'otro_nombre_de_archivo.txt' pero no podrá saber que el archivo original en realidad se llama 'archivo.txt' y- más importante -no sabrá su ubicación real.

// Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:59:58.


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
Copyright 1996-2007 Club Delphi