Forzar la descarga de imágenes con PHP

0 - , , - 24/01/2009 15:00:00

Este post trata de dar respuesta a una petición recibida a través del blog. Es una forma de forzar la descarga de una imagen, en vez de que ésta se abra en el navegador. Lo deberemos hacer del siguiente modo:

1.- Crear un fichero con nombre, por ejemplo "descarga.php" y poner el siguiente código.

<?php
header("Content-type: image/gif");
header('Content-Disposition: attachment; filename="nombre_imagen.gif"');
//nombre_imagen.gif es el nombre de la imagen tras la descarga 
readfile('nombre_imagen.gif'); 
//leemos la imagen.
//nombre_imagen.gif debe ser la ruta para llegar a la imagen.
?>

El header variará en función del tipo de imagen, pudiendo ser:

header ("Content-type: image/jpeg");
header ("Content-type: image/png");
header ("Content-type: image/gif");

2.- Desde la página web desde la que queramos que se descargue la imagen, en vez de enlazar directamente con la imagen, enlazamos cn el php (en este caso "descarga.php").

Una vez seguidos los pasos deberíamos haber podido forzar a que aparezca un cuadro de diálogo de descarga en vez de que el navegador muestre la imagen.

Deja tu comentario

  • El comentario debe estar relacionado con el contenido de la entrada.
  • Comentarios ofensivos, con spam o con lenguaje inapropiado serán eliminados.

captcha