Guardada en PHP, publicada en - Página vista 33712 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
Publicado por Labelgrup
Creador de páginas web, con experiencia en diferentes campos en el mundo del desarrollo web.