Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/07/2004, 07:07
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Las cabeceras HTTP que usas tan sólo compones el formato MIME del archivo y eso se lo entregas al navegador, este a su vez (como cliente en general) interá asociar el formato MIME del archivo al "lector/visualizador" que tenga registrado.

Para "forzar la descarga" de todo tipo de archivos, debes indicar al navegador que "los datos que les vas a enviar" son para que los descargue, para eso tendrás que usar otras (y más) cabeceras HTTP para tal fin. Estas cabeceras "HTTP" no las define PHP (php sólo te pone a tu disposición la función header() para que las "lanzes").

Como son cabeceras HTTP .. deberían regirse todos los "clientes" (navegadores entre otros) por los standares (RFC) .. pero, lamentablemente no es así. A cierto navegador le envias tal cabecera y este no la interpreta como "para descargar" .. así que en muchos casos hay que componer estas cabeceras HTTP dependiendo del cliente conectado (navegador).

Tienes ejemplos en los comentarios de los usuarios del manual oficial de PHP sobre la función header() de PHP:
http://www.php.net/header

Un saludo,