Header senden bringt Probleme

Blaschki

Erfahrenes Mitglied
Hallo.

Ich hab einen Skript der eine Zip-Datei erzeugt und diese an den Benutzter schickt.
Bei den Meisten Leuten die ich es geteste haben kommen zip-Dateien an.
Bei einigen aber zip.php Dateien. Die wenn man sie umbennent öffnen kann.
Hier mal die Header informationen:


header('Content-Type: application/zip');
header('Content-disposition: attachment; filename="' . $output_filename . '"'); header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');



Ich hab es auch schon mit:

header("Content-type: application/octet-stream");

und

header('Content-Type: application/x-zip');

getestet.
Aber immer das selbe Problem.
 
Zuletzt bearbeitet:
So viel mir bekannt ist, haben manche Browser – beispielweise der Internet Explorer – eignige Probleme mit dem HTTP-Header-Feld „Content-Disposition“, wodurch das Festlegen/Vorschlagen eines Dateinamens nicht gelingt.

In deinem Fall sehe ich nur die Möglichkeit des URL-Rewriting: Fange einfach alle Abfragen eines bestimmten Formates (beispielsweise /download/foobar) ab und schreibe die Anfrage serverseitg so um (vgl. Apache-Modul mod_rewrite), dass das Download-Skript den Dateinamen als Parameter erhält. Da die Anfrage nur serverseitig umgeschrieben wird und dies nach Außen nicht ersichtlich wird, ist es auch im Internet Explorer möglich die Dateien unter der angefragten Bezeichnung zu speichern.

Ansonsten schlage ich dir vor, beim „Erzwingen“ des Downloads den Media-Typen application/octet-stream zu verwenden, da dieser dafür extra gedacht ist.
 
Ich hab mal hier eine Test-Seite gestaltet.
Im Moment sind es zwar nur Bilder ich will aber später jede art von Dateien so anzeigen lassen. Der Kunde wählt dann seine dateien asu die er haeb will, und diese werden dann in ein zip-Paket geschnürt. So muss er nicht bei jeder Datei speichern klicken.

http://www.spectaculum-bilder.de/test/

@Gumbo:
Das mit dem header("Content-type: application/octet-stream"); hab ich auch getestet, aber es gibt das selbe Problem.

Ich were mal mit dem URL-Rewriting bschäftigen.
 
Bei zwei ist es Windows XP und bei einem ME und da je mit mehrern Browsen IE / Mozilla / Netscape.
 
Zurück