En el caso de un archivo PDF, la mayoría de los navegadores buscarán el helper (acrobat) para cargarlo en su navegador de manera predeterminada. Estás tratando de evitar este comportamiento predeterminado es mi suposición.
La forma más sencilla de hacer esto (asumiendo que usted está en la caja * nix con Apache) es hacer un archivo .htaccess en el directorio que desea tener este resultado y añadir la línea:
AddType application/octet-stream .pdf
Esto hará que cualquier archivo con la extensión .pdf se descargue de forma predeterminada. Incluso puede tener algunos archivos .pdf en la página cargados en el navegador mientras que otros descargan usando la directiva FilesMatch (http://www.askapache.com/htaccess/using-filesmatch-and-files-in-htaccess.html).
Me di cuenta de que su pregunta original decía "¿cómo puedo hacerlo con PHP?", Pero pensé en publicarla en caso de que estuviera buscando una solución más simple y más elegante. Tenga en cuenta que cualquier directiva que coloque en un archivo .htaccess también afectará a cualquier subdirectorio debajo de él.
Aquí tienes: http://stackoverflow.com/questions/985083/open-download-dialog-with-php http://stackoverflow.com/questions/732063/how-to-show-save-as- dialog-box-using-php-for-text-files – codaddict
Esta no es una dupla de esas preguntas. Quieren generar un diálogo de descarga, este quiere el enlace para forzar una descarga en lugar de abrir el archivo en el navegador. ¿En qué puede el atributo de descarga html5 hacer eso '' – sidonaldson