Forzar descarga de ficheros con PHP

Por regla general los exploradores de Internet muestran las páginas con contenido ASCII (texto plano) y en el caso de que su contenido sea binario, la muestran en caso de que las "conozcan", por ejemplo los JPG, GIF ó PNG, en el caso de tener instalado Flash o la máquina virtual de java o PDF navegarían a estos archivos o sacaría el mensaje informativo de descarga en caso de no tenerlos, o por ejemplo un documento de Word en Internet Explorer lo mostraría mientras que en otros navegadores mostraría el mensaje de descarga.

Sin embargo en muchas ocasiones, podemos querer forzar a que un archivo siempre se descargue independientemente del tipo de archivo que sea. Para estos casos podemos informar al explorador de que el archivo que le enviamos es para descargar. Esto se hace con las cabeceras del documento, concretamente: El artículo de ejemplo recoge el nombre del archivo a descargar por URL, con la variable "doc", el único cambio que habría que hacer en el PHP es pasar la dirección del directorio de "descargas". El documento a descargar se coge de la unión del directorio de descargas y el nombre del documento pasado por URL. Por motivos de seguridad se reemplazan los dos tipos de barras separadoras de directorios en diferentes sistemas operativos por "_". Esto evita que usuarios malintencionados "jueguen" con las variables pasadas y se descarguen documentos que no sean públicos.

También se podría hacer que en vez de pasar el archivo mediante una variable, escribir el archivo a mano en el PHP, o pasar una variable tratada con anterioridad, reemplazando la línea: por (escribiendo el archivo a mano): o (recogiendo el dato de una variable de php): Por último, recordar que no se debe de enviar ningún dato antes de las cabeceras (header), tener cuidado, ya que es muy típico el error de introducir antes del código un salto de línea o un espacio y con esto ya daría un error de tipo Warning: Cannot modify header information - headers already sent by (output started ...
HTML: Código:

¿Qué te pareció?

Nombre

Adblock Adobe Flash AJAX Algoritmos Anuncios API Blogger Blogging Buscadores chrome web store Código Fuente CSS CSS 3 CV Dart Depurar Desarrollo Web Diseño Diseño Grafico Diseño Web Documentación Efectos Facebook Firefox Foros Fotografias Frances Bean Cobain Gadgets General Geolocalizar Google Google Analytics Google Chrome Google Imágenes Google Music Google Reader Google+ Herramientas Hotmail HTML HTML5 Imágenes Información Informática Instagram Internet Internet Explorer Internet Explorer 10 Javascript jQuery Kurt Cobain Librerías Marketing Microsoft Monetización Web Mozilla Firefox 8 MySQL Navegadores Noticias Optimización Web PageSpeed Insights PayPal Personal Photoshop PHP Plantillas Programación Programas Programas Web Proyectos Redes Sociales ScreensHots Scripts Seguridad SEO Servicios Web Sesiones Snippets SoniTube Spam Steve Jobs Templates Themes Thumbalizr Tips Trucos Tutoriales Twitter Utilidades Vectores Virus Web Widgets Windows 7 Windows 8 Windows Mobile Windows XP WordPress XSS Youtube
false
ltr
item
OnSoni: Forzar descarga de ficheros con PHP
Forzar descarga de ficheros con PHP
OnSoni
http://www.onsoni.com/2011/10/forzar-descarga-de-ficheros-con-php.html
http://www.onsoni.com/
http://www.onsoni.com/
http://www.onsoni.com/2011/10/forzar-descarga-de-ficheros-con-php.html
true
8818836675902573334
UTF-8
Not found any posts Not found any related posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU Etiqueta ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Contents Ver también Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copiar todo el codigo Seleccionar todo el Código Todo el código se ha copiado en el portapapeles Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy