Gracias
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
| |||
Descargar un archivo en vez de abrirlo Necesito un script que obligue al navegador a descargar un archivo .php en vez de abrirlo como haría normalmente. Gracias ![]()
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |
| |||
Mmmm... esa solución no me vale ya que esto solo quiero hacerlo con un par de archivos. Hace tiempo creo que vi esto que me hace falta pero no estoy seguro jeje... De todas maneras gracias por el interés, a ver si hay alguien que de con lo que pido :p Saludos!
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |
| |||
No puedo comprimirlo en zip porque es un archivo que se actualiza cada cierto tiempo y necesito descargarlo asi... Os explico: tengo un sistema de noticias que almacena los datos en ficheros .php en vez de en BDs MySql y quiero poner un link para descargar esos archivos cuando quiera a modo de "backup", no se si me explico ![]()
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |
| |||
este es un force download ke me enkontre por ahi, no lo he probado ![]()
Código:
<? /* Para usar es archivo.php?filename=archivo.extension */ $shortname = basename( $filename ); if( file_exists( $filename ) && !eregi( "p?html?", $filename ) && !eregi( "inc", $filename ) && !eregi( "php3?", $filename ) ){ $size = filesize( $filename ); header("Content-Type: application/save"); header("Content-Disposition: attachment; filename=".$shortname); $fh = readfile($filename); fpassthru($fh); exit; } else { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Download Error</title> <style type="text/css"> <!-- body {background-image:url(include/background.gif); font-family:helvetica,arial,sans-serif} a:hover {text-decoration:none; border-width:thin; border-style:dotted; background-color:#f2f2ff; color:#000000} a:focus {text-decoration:none; background-color:#dadae6; color:#000000} a:active {text-decoration:none; background-color:#ffffff; color:#000000} --> </style> </head> <body> <h1>File <?php print( $basename ) ?> not available</h1> <p> Either the file you requested does not exist or you are not permitted to download it using this page. </p> </body> </html> <?php } ?> </body> </html>
__________________ El que teme preguntar, se averguenza de aprender. |
| |||
Al final lo he hecho utilizando este código: Código PHP: ![]()
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |
| |||
Antes de llegar a la página en la que está el link para bajar los backups tienes que pasar por una que te pregunta el nombre de usuario y la clave asi que por eso no hay problema... jejeje Saludosss
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |
| |||
Pero .. Dahn .. si accedo directamente a ese script igual se va a poder descargar el archivo salvo que de tu "login" pase a este script y por médio hagas el seguimiento del usuario creando/validando variables de sesión o cookies (recomendable sesiones). Es decir .. " de nada sirve tener una puerta .. si al lado no hay muros que no dejen entrar sólo por tu puerta" ... Un saludo, |
| |||
recordemos que si por las moscas algun robot de algun buscador encuentra un enlace a tu archivo y lo añade, este estaria disponible para muchos usuarios... este es ya conocido por varios y sabesmos que sucede.. lo mejor es usar, como te recomientan Sesiones o Cookies... |
| |||
Pufff... tenéis razón... aun asi creo que no tiene mucha importancia que se bajen ese archivo pero otros que tengo como uno que almacena el user y el pass si sería malo que lo viesen... Hay alguna solución que no sea la de las cookies? algo con el .htaccess?
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |
| |||
Ahora que lo miro... en ese .php que os digo el usuario y la clave estan almacenados como una variable y al acceder al archivo mediante el navegador no aparece nada, sale como si el fichero estuviese en blanco... hay algun riesgo de que se pueda saber lo que contiene? Gracias ![]()
__________________ I'll be here..., Why...?, I'll be 'waiting'...here..., For what?, I'll be waiting...for you...so..., If you come here..., You'll find me, I promise. |