Foros del Web » Programando para Internet » PHP »

header() + IE6 + open file = error

Estas en el tema de header() + IE6 + open file = error en el foro de PHP en Foros del Web. Bueno, tengo un problema minúsculo pero me está dando mucha lata con el cliente... Hice una aplicación la cual son unos formularios con capacidad de ...
  #1 (permalink)  
Antiguo 28/07/2009, 12:58
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 7 meses
Puntos: 0
header() + IE6 + open file = error

Bueno, tengo un problema minúsculo pero me está dando mucha lata con el cliente...

Hice una aplicación la cual son unos formularios con capacidad de archivos anexos... toda está información la guardo en una DB y el archivo anexo lo renombro a 1, 2, 3, 4, 5, 6, 7...etc, dependiendo el registro de la DB y sin extensión.

Por otro lado, tengo mi administrador... ve los registros y descarga archivos. El problema es cuando se descargan archivos... se debe dar Save As y después abrir el archivo porque si se le da clic en Open File me manda un error de que no se encontró el archivo en la carpeta temporal... esto me sucede con IE6 y creo que también pasa con IE7 (ni con IE8 ni el resto de los navegadores sucede, el problema es con IE6).

Bueno, dirán... dile a tu cliente que actualice. Desafortunadamente es una app para intranet y tienen políticas de esas que por milagro no los hacen utilizar IE4 o Netscape 3 (casi casi Mosaic).

Este es mi código:

Código PHP:
        $result $this->conn->sql("SELECT * FROM file_table WHERE intid LIKE ".$id.";");
        
$data =$this->conn->object($result);
        
        
$mime mime_content_type($data['strname']);

        
header("Content-type: ".$mime);
        
header("Content-Disposition: attachment; filename=".$data['strname']."");
        
header("Content-Transfer-Encoding: binary");
        
header('Content-Length: ' filesize("files/".$id));        

        
readfile("files/".$id);
        exit(); 

Simplemente no he encontrado la solución... por cierto, averiguo el mime type en base a la extensión del archivo usando una función de reemplazo de mime_content_type, dado que el servidor windows no tiene instalada las librerías de mime type...
__________________
www.subflash.com <-----visita
  #2 (permalink)  
Antiguo 28/07/2009, 13:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: header() + IE6 + open file = error

No es un problema de PHP, es un problema como bien puntualmente lo dices de IE, cuando el archivo tiene menos a un tamaño minimo establecido da ese error y no hay forma de repararlo a menos que puedas subir un parche para IE (lo cual es muy complicado).

Saludos.
  #3 (permalink)  
Antiguo 28/07/2009, 14:46
 
Fecha de Ingreso: septiembre-2002
Ubicación: Mexico
Mensajes: 142
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: header() + IE6 + open file = error

Bah, odio IE -.-

¿sabes de que peso mínimo hablamos?

Gracias por la ayuda...
__________________
www.subflash.com <-----visita
  #4 (permalink)  
Antiguo 28/07/2009, 20:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: header() + IE6 + open file = error

Lo desconozco, pero en Google seguro puedes encontrar ese tamaño.

Saludos.
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 07:18.