Forzar descarga de archivo con PHP
Hola de nuevo a todos!
Hoy os traigo la forma con la que conseguiremos forzar la descarga de un archivo con PHP.
A veces pasa, que al pinchar en el enlace de una imagen, la abre en nuestro navegador. Si nuestra intención no es esa, si no que lo que queremos es descargar esa imagen, procederemos a crear un archivo PHP a través del cual forzaremos la descarga.
El contenido de nuestro archivo .php sería el siguiente:
// Definimos el nombre de archivo a descargar. $filename = "nombredearchivo.extension"; // Ahora guardamos otra variable con la ruta del archivo $file = "ruta/".$filename; // Aquí, establecemos la cabecera del documento header("Content-Description: Descargar imagen"); header("Content-Disposition: attachment; filename=$filename"); header("Content-Type: application/force-download"); header("Content-Length: " . filesize($file)); header("Content-Transfer-Encoding: binary"); readfile($file);
De esta forma, al acceder a este documento desde nuestro navegador, descargaremos el archivo automáticamente. No os quedéis en esto, probar a enlazar funcionalidades de PHP, como capturar el nombre del archivo por URL, y así reutilizar este código para cualquier archivo.
Un saludo!