Header / ZIP / iPad Safari / Download
Alexander, W.
- php
0 Der Martin0 Tom0 Tom
0 Encoder
Hallo liebe Experten,
ich biete ZIP-Dateien zum Download an und habe dabei ein Problem. Einige Safari Nutzer (auf iPad) melden, dass sich die Dateien nicht herunterladen lassen. Ich habe es mit application/zip und application/octet-stream getestet. In beiden Fällen melden die Kunden Fehler. Kennt Ihr vielleicht einen Trick?
So sehen die Headers aus:
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: no-cache');
header('Content-Description: [Hier kommt der Dateiname] Download');
header('Content-Type: application/octet-stream'); // auch mit .../zip getestet
header('Content-Disposition: attachment; filename=das-ist-die-datei.zip"');
header('Content-Transfer-Encoding: binary');
header('Content-Length:'.filesize($file));
// hier kommt readfile(...) und exit;
Vielen Dank!
Grüße
Alexander
Hi,
header('Content-Length:'.filesize($file));[/code]
// hier kommt readfile(...) und exit;
den Content-Length-Header würde ich mal weglassen. Denn da viele Server so konfiguriert sind, dass sie die Ausgabe noch mit gzip weiter zu komprimieren versuchen (wodurch sich die Länge des Inhalts definitiv ändert), passt das oft nicht mehr.
Ciao,
Martin
Hello,
ich biete ZIP-Dateien zum Download an und habe dabei ein Problem. Einige Safari Nutzer (auf iPad) melden, dass sich die Dateien nicht herunterladen lassen. Ich habe es mit application/zip und application/octet-stream getestet. In beiden Fällen melden die Kunden Fehler. Kennt Ihr vielleicht einen Trick?
So sehen die Headers aus:
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: no-cache');
header('Content-Description: [Hier kommt der Dateiname] Download');
header('Content-Type: application/octet-stream'); // auch mit .../zip getestet
header('Content-Disposition: attachment; filename=das-ist-die-datei.zip"');
header('Content-Transfer-Encoding: binary');
header('Content-Length:'.filesize($file));
> // hier kommt readfile(...) und exit;
Ich sehe nur einen Fehler:
> header('Content-Length:'.filesize($file));
sollte besser heißen:
header('Content-Length: '.filesize($file));
^
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bikers-lodge.com>
Hello,
ich biete ZIP-Dateien zum Download an und habe dabei ein Problem. Einige Safari Nutzer (auf iPad) melden, dass sich die Dateien nicht herunterladen lassen. Ich habe es mit application/zip und application/octet-stream getestet. In beiden Fällen melden die Kunden Fehler. Kennt Ihr vielleicht einen Trick?
So sehen die Headers aus:
Ich sehe nur einen Fehler:
header('Content-Length:'.filesize($file));
sollte besser heißen:
header('Content-Length: '.filesize($file));
^
Und da ist noch einer:
header('Content-Disposition: attachment; filename=das-ist-die-datei.zip"');
^ ^
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
In beiden Fällen melden die Kunden Fehler. Kennt Ihr vielleicht einen Trick?
Ja. Nachfragen was der Fehler ist.
Wie äußert er sich? Was passiert? Wird überhaupt was runtergeladen das nur kein gültiges zip ist, passiert überhaupt nichts, usw...