Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/09/2006, 12:59
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por bisteck Ver Mensaje
Entonces no se puede hacer nada................pero me salta una duda ya que este mismo codigo que tengo lo ocupe en otra parte pero funciana sin ningun problema
Con el mismo navegador? .. con el mismo tipo de archivo? .. Si haces pruebas, intenta que sean en las mismas condiciones de pruebas.

Bueno .. yo uso estas cabeceras .. van bien con IE 6.x .. no así para IE 5.5 (parece que ese es un caso "especial" como trabaja las cabeceras HTTP). Otros navegadores no he probado (lo uso principalmente en una Intranet donde tengo claro que máquinas uso y que soft usan).

Código PHP:
switch ($_GET['accion']){
    case 
"bajar":
        
$content_disposition="attachment";
    break;
    case 
"ver":
        
$content_disposition="inline";
    break;
    default:
        
$content_disposition="attachment";

}

header("Content-Type: ".$tipo_mime_archivo); 
header("Content-Disposition: ".$content_disposition."; filename=\"".trim($filename)."\"");  
header("Accept-Ranges: bytes");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($archivo_ruta));

readfile($archivo_ruta); 
Bueno .. lo que uso en definitiva es:

1) Defino el "conten-type" según el formato MIME del archivo. (en mi caso eso lo tengo ya claro pues al subir el archivo alaceno ese dato en mis BBDD). Esto es necesario sobre todo si pretendes hacer un "inline".

2) Defino "attachment" o "inline" según quiera bajar el archivo o verlo en línea para el "content-disposition".

El resto son "opcionales" .. pero en algún sitio ví que la usaban así que las usé.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.