Mailinglisten-Archive |
> Hy Michael,
>
>>ich biete Zip-Dateien zum Download an, diesen enthalten z.B. PDFs. Nur
> im IE gibt es die Meldung, das Archiv sei korrupt. >Im FF läuft alles.
>>
>>Folgende Werte habe ich gesetzt:
>>
>>
>> // required for IE, otherwise Content-disposition is ignored
>> if(ini_get('zlib.output_compression'))
>> {
>> ini_set('zlib.output_compression', 'Off');
>> }
>>
>> header("Cache-Control: public");
>> header("Expires: 0");
>> header("Cache-Control: must-revalidate, post-check=0,
> pre-check=0");
>> header("Cache-Control: private", false); // required for
> certain
>>browsers
>> header("Content-Type: " . $downloads_array['content_type']);
>> header("Content-Disposition: attachment; filename=\"" .
>>basename($downloads_array['downloads_filename']) . "\"");
>> header("Content-Transfer-Encoding: binary");
>> header("Content-Length: " . filesize($downloads_file));
>> readfile($downloads_file);
>
> nimm für den IE die Header wie unten, dann sollte es funzen.
> Ich kann mich da noch schwach daran erinnern, der IE hat Probleme mit
> dem Cache-control und Content-Disp. wie du es geschrieben hast.
>
> header("Cache-control: private");
> header("Content-Disposition: filename=\"" .
> basename($downloads_array['downloads_filename']) . "\"");
Diese Kombination funktioniert in allen Browsern für alle Dateien inkl. SSL:
header('Pragma: anytextexeptno-cache', true);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Expires: 0");
header("Content-Type: application/octet-stream");
php::bar PHP Wiki - Listenarchive