Muchas veces habran querido permitir la descarga de un archivo con extension “.php” por ejemplo de sus sitios sin tener que comprimirlo o un archivo de imagen, evitando que el navegador la muestre
La definicion de la funcion es la siguiente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function forceDownload( $filePath ) { if( is_readable($filePath) ) { header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"$filePath\"\n"); $fp = fopen($filePath, "r"); fpassthru( $fp ); exit(); } else { echo 'Archivo no existente o sin permisos de lectura'; } } |
Y su utilizacion (por ejemplo) la siguiente
1 |
forceDownload("/path/to/file.jpg"); |
Saludos!
1 comentario
Pablo Neirotti · 4 enero 2010 a las 2:24
De diez =P jaja. Dos cositas, habría que aclarar que antes de usar la función no hay que imprimir nada (no usar echo ni print o por el estilo).
Clavale un die(); a la función para que después no venga con regalitos =P jejeje. Newbie proof!!
Copado……… funciona en qué browsers? (No le tengo fe a IE, es el único browser que si entrás a un documento XHTML en vez de mostrar la página, TE LA DESCARGA xD)