2012-04-23 23 views
5

Estoy buscando forzar la descarga de un archivo desde una fuente externa usando encabezados de PHP. Sin embargo, el tipo de archivo podría ser LO QUE SEA. ¿Cómo puedo forzar la descarga de todos los tipos de archivos?Descarga de archivo de fuerza de tipo de archivo desconocido con PHP

Espero que pueda entender mi pregunta y lo que estoy tratando de describir.

+3

Forzar todas las descargas parece una mala idea para mí ... – Jon

+0

vistazo a la documentación de PHP para 'readfile()', especificamente estableciendo los encabezados en octet-stream. –

+0

de acuerdo con @Jon, es una mala decisión de UX. ¿estás 100% seguro de que tus usuarios quieren descargar el archivo? ¿Estás 100% seguro de que quieren guardarlo en su directorio de descarga predeterminado, con el nombre predeterminado? IFF puede decir sí a esto, luego proceder. – Jeff

Respuesta

6

Quiere decir cabeceras HTTP, y está buscando RFC 2616, http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html "Disposición del contenido".

enviar los siguientes encabezados para forzar la descarga de todos los archivos y tipos:

header('Content-Disposition: attachment; filename="name.ext"'); 
header('Content-Type: application/octet-stream'); // or application/force-download 

echo $the_file_content; 
exit; 
+0

Si te refieres al tipo MIME, 'application/octet-stream'. – freeone3000

+3

Oh, es específico. Declara que su archivo se compone de bytes. Si su archivo no consta de bytes, tendrá que buscar algo más. – freeone3000

+0

¿Solo la mayoría? – Johnnyoh

Cuestiones relacionadas