Foros del Web » Programando para Internet » PHP »

Forzar la descarga de ficheros en un MAC

Estas en el tema de Forzar la descarga de ficheros en un MAC en el foro de PHP en Foros del Web. Alguien sabe como forzar la descarga de los ficheros , en un MAC?? Estas son las cabeceras que utilizo para descargarlos en un PC, pero ...
  #1 (permalink)  
Antiguo 08/03/2004, 05:30
 
Fecha de Ingreso: marzo-2004
Mensajes: 1
Antigüedad: 20 años, 8 meses
Puntos: 0
Forzar la descarga de ficheros en un MAC

Alguien sabe como forzar la descarga de los ficheros , en un MAC??

Estas son las cabeceras que utilizo para descargarlos en un PC, pero por lo visto en un MAC no funcionan. Esto solo me ocurre con imagenes en formato JPEG, los archivos .pdf por ejemplo si que se descargan correctamente

$size = filesize($ruta.$fichero);
header( "Content-type: image/jpeg" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: $size");
header("Content-Disposition: attachment; filename=\"$fichero\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: public");

Muchas Gracias!!!
  #2 (permalink)  
Antiguo 08/03/2004, 07:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Esta cabecera sobra ..

header( "Content-type: image/jpeg" );

Si tu propósito es forzar la descarga de archivos debes indicarlo con el resto de cabeceras que ya usas. De todas formas no todo navegador interpreta de la misma forma las cabeceras concretas de "Content-Disposition: attachment ...". Esto lamentablemente no es un problema de PHP sino de los navegadores, la mayoría interpretan esa cabecera como para indicar que los datos que se le enviarán son para descarga.

Usa como content-Type:

header("Content-Type: application/octetstream; name=\"$nombre_fichero\"");


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 22:03.