Autodescarga php

Iniciado por dimitrix, 22 Febrero 2008, 17:03 PM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Vamos a ver, me gustaría saber un código que desde antes de meterme en php me tiene mosca y es esto:

Imaginaros que tengo un "hola.php" y tengo que un archivo llamado "archivo.rar" y quiero poner un link en "hola.php" hacia otro php "descarga.php" y que me salga la ventanita para descargar archivo.rar sin salir de "hola.php"

Bueno, espero que me entiendan, gracias.




Azielito

precisamente ayer estaba revisando la seguridad de un codigo que tengo para descargar archivos xD

tengo este form
Código (html) [Seleccionar]
    <form action="descarga0.php" method="post">
    <input type="hidden" name="id" value="<?=$res_dat['ar_id'];?>"> <!-- Aqui el id del archivo a descargar [...] , que en este ejemplo lo obtengo de una base de datos-->
        <script>
function advertencia(){
alert('Se cerrara la ventana automaticamente en 5 segundos despues guardar o abrir el archivo.');
setTimeout('window.close()',10000);
}
</script>

        <input type="image" src="images/descargar.gif" style="cursor:default" onClick="advertencia();"/>
</form>


Despues de tomar ese ID que envio del archivo anterior [...]
Código (php) [Seleccionar]
if(file_exists($archivo)){
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$nombre\"\n");
readfile($archivo);
}else{
echo "<script>window.close();alert('El archivo \\n".$nombre."\\n no se encontro en el servidor.');</script>";
}

lo importante es:
Código (php) [Seleccionar]
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$nombre\"\n");
readfile($archivo);


dimitrix