Forzar descargas con PHP
Introducción
Muchas veces navegando, nos encotnramos con sitios web que contienen enlaces hacia archivos como ser MP3, JPG, PDF, etc.
Cuando hacemos click en estos enlaces, por lo general se abren directamente, o sea, los MP3 en nuestro reproductor de audio, los PDF en el Acrobat Reader (o dentro del navegador), los JPG en el visor de imágenes, etc.
Lo que sucede, es que puede que nosotros queramos que el archivo no se abra automaticamente, sino que aparezca la típica ventana de descarga.
Código
Para lograr el resultado deseado, debemos crear un archivo llamado descargar.php (o como queramos) y ubicarlo en el directorio del hosting donde se encuentran nuestros archivos.
Implementación
El modo de uso es realmente sencillo, solo debemos modificar el destino de nuestro enlace de archivo.jpg a descargar.php?f=archivo.jpg.
Quedando en enlace de la siguiente manera:
La verdad es que es un método muy facil de implementar y que nos brinda una solución frente a este problema.
A mi gusto debería implementarse en los sitios web con enlaces hacia archivos PDF, ya que generalmente cuando abrimos uno o varios de estos, el navegador comienza a ponerse muy lento.
Fuente | DaveMM
ACTUALIZACIÓN
Corey me informa que corrigió un bug de seguridad en su código que permitía la descarga de cualquier tipo de archivos por medio del script, como archivos PHP por ejemplo.
Para corregirlo, usamos el código actualizado:
-
<?php
-
$f = $_GET["f"];
-
?>
Ahora, con el uso de la variable $archivos, podemos facilmente definir las extensiones de los archivos que deseamos permitir descargar.







Da gusto saber que te pasas por mi sitio :) …que te parece si intercambiamos enlaces?, yo te enlazo, tu me enlazas. Cualquier cosa me avisas.Saludos.
Listo, ya te enlacé.
Gracias
Gracias, te agrego a mi blogroll de inmedianto; solo una cosa, me gustaria que me pusieras como “Davemm”, no DaveMM”. Saludos.
Muuuuuuy bueno che!
Un abrazo Nico
Ok, gracias a los dos!
Actualicé el Script, pasate por mi Blog. Saludos.
Gracias Corey (David), ya actualicé el post.
Suerte
muy bueno el blog, que libreria utilizas para que el codigo se vea asi de bonito.. jajasaludos!
Es un plugin llamado iG:Sintax Hiliter,
Suerte
hola esta todo genial ….. pero lo que pasa en mi caso es que! hago para que mi URL o direccion de donde jalo mi archivo no se note, es decir que no vean de sale la descarga la direccion
<a href=”descargar.php=? http://nicolasbermani.com.ar/musica.mp3” rel=”lightbox”>Descargar Imagen</a><br />
se supone que tengo que poner asi pero no quiero que se note mi URL de mi hosting….OJALA ME AYUDEN LES ESTARIA AGARADECIDO
Hey! menos mal que avisaste del problemita de seguridad, imaginate si te bajan too tu sitio en php…un bajon.bueno, soy guille socio junto con ana de http://chiflame.net/, el meneame argentino
Y si avisé.. por eso edité el post y resalté la actualización :|
Muy buen código, ya lo he implementado, solo que tengan cuidado en la linea No. 6 hay que quitar “” que esta al final(hablo del código actualizado), sino el php les da parser error. Por si andan cortos con el php.
Siguiendo el ejemplo, con el nuevo código la implementación quedaría así:
Descargar Imagen
Saludos ;-)