Cita:
Iniciado por bisteck 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,