Descarga de archivos en PHP

Guardada en PHP, publicada en - Página vista 32534 veces

Alguna vez nos ha pasado que necesitamos que un archivo en concreto sea descargado en vez de visualizado por la Web. El problema es que algunos archivos tipo .zip, .doc, .rar ya están asociados a nuestra máquina y esta los intenta abrir en vez de descargarlos.

Pues bien, esto es fácilmente solucionable si usamos el encabezado «octet-stream» para enviar el archivo… este encabezado le dice al navegador que vamos a recibir un paquete… pero no sabe cual, ejemplo:

$enlace = $path_a_tu_doc."/".$id;
header ("Content-Disposition: attachment; filename=".$id." ");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
?>



Esta página la nombramos como «download.php» por ejemplo y para enviar a descargar el archivo la usamos de esta manera:

download.php?id=archivo.pdf

Seguidamente del id= debemos de color el nombre del archivo que deseamos descargar.

Espero que os sirva de ayuda

Labelgrup

Publicado por Labelgrup

Creador de páginas web, con experiencia en diferentes campos en el mundo del desarrollo web.