Dateidownload mit PHP: Probleme mit div. Browsern
Maresa P.
- php
Hallo,
auf meiner Website können eingeloggte User (Sessionbasiertes UMS) bestimmte Dateien downloaden, welche ausserhalb des HTTP Document-Roots meines Apache Servers liegen.
Hierzu hab ich ein PHP Script geschrieben, welches die entsprechenden Header Informationen generiert und die Datei ausgibt.
Leider funktioniert das mit manchen Browserversionen nicht. (z.B.: Netscape 7). Die Datei ist dann immer 0kb groß und heißt, wie das PHP-Script.
Dies sind die Header-Informationen, welche generiwert werden:
header("Content-Type: application/octetstream");
header("Content-Disposition: ".
(!strpos($HTTP_USER_AGENT,"MSIE 5.5")?"attachment; ":"").
"filename=".$datei_name);
header("Content-Transfer-Encoding: binary");
header("Cache-Control: post-check=0, pre-check=0");
header("Content-Length: {".$filesize."}");
Und danach lese ich die Datei folgendermaßen aus:
@readfile($pfad.$datei_name);
Woran liegt das? Wie kann ich den Fehler beheben?
Veielen Dank für Euere Hilfe
Maresa
P.S.: http://www.dclp-faq.de/q/q-datei-download.html kenn ich schon!
Hi,
header("Content-Type: application/octetstream");
dieser MIME-Type ist ungültig. Verwende "application/octet-stream".
header("Content-Length: {".$filesize."}");
Welchen Zweck erfüllen die geschweiften Klammern?
Woran liegt das? Wie kann ich den Fehler beheben?
Hast Du mal versucht, das Script zu minimalisieren, also erst mal nur auf die zwingend benötigten Header zu reduzieren?
Cheatah
Hi,
Salut!
header("Content-Type: application/octetstream");
dieser MIME-Type ist ungültig. Verwende "application/octet-stream".
Danke, daran lags!
Schöne Grüße
Maresa