Cuando ponemos para su descarga ficheros, dependiendo de la extensión de los mismos el navegador puede abrirlos en vez de forzar su descarga. Tal es el caso de ficheros con extensiones como .doc, .html o .pdf. Por ejemplo, para forzar la descarga de un fichero PDF:
// El content type del fichero.
header (¨Content-Type: application/pdf¨);
// Decirle al navegador que el fiechero es descargable
// y ponerle un nombre.
header (¨Content-Disposition: attachment; filename=nombrefichero.pdf¨);