PHP: Datei Herunterladen-Skript funktioniert nicht auf iPad
Habe ich eine Datei download-script, dass ich geschrieben habe, die Dateien liest von unten "public_html" und ermöglicht es dem Benutzer, um Sie herunterzuladen nach der überprüfung, um zu sehen, wenn der Benutzer eingeloggt ist und dass die Datei eine gültige Datei für Sie zum download bereit.
Ein Problem ich habe mir vor kurzem begegnet ist, dass auf einem iPad es ist einfach nicht alles, wenn der link angeklickt wird.
Beispiel download Datei code, nachdem alle Prüfungen durchgeführt wurden:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/msword");
header("Content-Disposition: attachment; filename=\"file.doc\";" );
header("Content-Length: 50688");
readfile(SITE_PATH .'/files/file.doc');
Dieses Skript wurde getestet und geprüft, die PC -, Mac-und Linux-Maschinen in mehreren Browsern (FF, Opera, IE6-9, Chrome, Safari) und alle scheinen gut zu funktionieren, also muss es etwas sein, dass das iPad unterschiedlich.
Ich würde vorstellen, es ist etwas zu tun mit dem iPad eigentlich nicht mit einer Datei-Struktur, die als solche download-Dateien, aber ich bin mir nicht sicher.
Hat jemand dieses problem vor? Wenn dem so ist, gibt es einen fix?
- unrelated: Sie haben zwei Content-Typ-header-Felder. Ein Pick. Auch Content-Transfer-Encoding ist nicht eine HTTP-header-Feld.
- entfernt die, scheint es keine Wirkung hatte. Aktualisierte Frage zu reflektieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
iOS-Safari nicht unterstützt Datei-download..
Update: Aber wenn Sie schauen, um zu öffnen .doc-Dateien auf dem iPad dann ja.. Sie tun kann...
folgende -
der einzige Unterschied im code und mir ist ich entfernt und die header für attachment
Einfach entfernen Sie diese header -
Eigentlich können Sie überprüfen, ob client-Betriebssystem, wenn das Betriebssystem ist iOS dann nicht hinzufügen header für download, wie dieser -
Apple hat gesperrt iOS-Geräte, so dass Sie keinen Zugriff auf die Datei-Struktur. Als solche haben Sie deaktiviert, Datei-downloads.
Können Sie erzwingen, dass der Benutzer den link einfügen (mit einem zeitlich begrenzten-ID in der es wegen log-in,...) in jede Drittanbieter-app wie GoodReader.
Oder einfach nur lassen Sie die doc-Datei im browser.