Foros del Web » Programando para Internet » PHP »

Solución a problemas de headers

Estas en el tema de Solución a problemas de headers en el foro de PHP en Foros del Web. hola amigos, el día 13-04-2004 publique el siguiente problema: uso de header apropiado hola amigos, tengo un problem con el uso de los headers. Uso ...
  #1 (permalink)  
Antiguo 15/04/2004, 14:11
 
Fecha de Ingreso: abril-2004
Ubicación: Viña del Mar
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
Solución a problemas de headers

hola amigos, el día 13-04-2004 publique el siguiente problema:

uso de header apropiado
hola amigos, tengo un problem con el uso de los headers. Uso como Bd interbase (el cual es malisimo) y al querer descargar un archivo me da serios problemas, porque lo hago en forma directa de la BD. El codigo que uso es el siguiente:

Header("Content-type: ".$mime_archivo);
Header("Content-Disposition: attachment; filename=".$nombre_archivo);
ibase_blob_echo($blob);

con esto el navegador me envia el cuadro de "descarga bla bla bla", y le presiono guardar y niun problema. El gran problema ocurre cuando le presiono abrir, porque me dice que no encuentra el archivo ¿raro no?, si le quito el Header("Content-Disposition: attachment; filename=".$nombre_archivo"]); me abre el archivo en forma directa sin problemas, entonces el archivo si existe, asumo que el header es el del problema. Cual header debo sustituir el antes mensionado?.

Para aquellos que se pregunten porque no uso print para enviar el archivo, es porque el navegador no lo lee, interbase es bastante exquisito para sus cosas.

Y otra cosa, el php que uso es medio viejo, la versión es la 4.0.3 pl 1-1. Y el IE es el 6 (ya que con el 5 tuve que mandarle una trampita en el php).


bueno, gracias a cluster pude dar con la solución, le me dio 2 paginas de las cuales tenia que leer las sugerencias de los usuarios, y lo hice, fue bastante rato, pero bueno, encontre la solución, es la siguiente:

Header("Accept-Ranges: bytes");
Header("Expires: 0");
Header("Cache-Control: private");

a los otros 2 headers que tenía le agrege estos 3, y listo!!!, niun problema mas, puedo leer el archivo directo de la base de datos.
Además, como trabajo con sesiones, antes de hacer el session_start() tuve que poner session_cache_limiter('public');, se hace eso para corregir un problema de IE 6.0 y netscape 7.1. Bueno ojala esto le sirva a alguien, porque me volvi loco buscando en google pero nada aparecía. (ojo este problema me paso con interbase 6).
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:02.