Header???

JAM
05 de Septiembre del 2003
Hola a [email protected], a ver si alguien puede ayudarme, estoy haciendo prácticas en una empresa y llevo y mes(o algo más) programando en php (o intentandolo) el problema es que tengo hecho un buscador y el resultado son archivos y quiero q cunado se pinche sobre ellos el navegador los abrá, pero lo único que consigo es que salga el poup up de abrir o guardar, y mi jefe no quiere que salga eso, ya he mirado el manual "n-veces" y lo único que he conseguido es que me abra algún pdf(a veces) y algun jpg, además cuando abre un .doc o un .xls abre el programa pero me sale la página index.php (una cosa muy rara).
Gracias de antemano.

Shrek
05 de Septiembre del 2003
Lo que quieres hacer depende de varios factores.

Si lo que tienes es una referencia directa al archivo, algo asi como http://servidor/ruta/archivo.xls tu servidor web debe distinguir el "mime-type" o tipo de archivo que va a servir como un "application/vnd.ms-excel" para el caso de Excel o un "application/msword" para el caso de Word. Si estas trabajando con Apache, de seguro ya tienes resuelto ese problema de parte del servidor. El archivo que contiene esas especificaciones se llama mime.types

Si estas sirviendo el archivo de Excel o Word desde una de tus paginas php, debes incluir estos Header dentro de tu respuesta:
Content-Type: application/vnd.ms-excel
Content-Type: application/msword
Para archivos de Excel y Word, respectivamente.

Estas especificaciones de parte del servidor son necesarias para que el navegador Cliente las interprete como tal.

El navegador recibe estos encabezados y decide que hacer con los datos que recibe. Si el navegador recibe un encabezado como este
Content-Type: application/vnd.ms-excel
él verifica si lo tiene dentro de sus tipos de archivos conocidos, si no es asi, abre la ventana para descargarlo (El problema que tienes).

Cuando instalas una aplicacion como Acrobat Reader, se instalan unos plugins en el navegador, para que cuando él reciba un archivo PDF, lo abra directamente alli en el navegador pero con parte y apariencia del Acrobat. Lo mismo sucede con los archivos de Word y Excel. Para que se abran en el navegador es necesario que el computador cliente tenga instalado el Office con su respectivo plug-in en el navegador.

Espero haber ayudado a tu problema, si tienes alguna duda al respecto, puedes escribirme directamente al mail.

sago78
05 de Septiembre del 2003
HOla

jejeje pues yo necesito todo lo contrario...
estoy haciendo mi serv soc. y quieren que en un pagina web al darle click al link del archivo salga la ventanita de guardar. se esta manejando Php y Apche, asi como se le indican los Content-Type en el apache es posible restringirlo para cierto Directorio??

en otro sitio me respondieron con un CGI que permite lo que necesito pero.... esta en Perl si alguien me puede ayudar a trasladarlo a PHP seria muy feliz =)

Grax de antemano y Suerte con tu problema!