Julian Becker: header("Location: ....") und späterer Dateidownload

Beitrag lesen

Hallo,

ich habe ein kleines Verzeichnis-Anzeige-Skript geschrieben, das beispielsweise auf http://link.man-ma.de/shots/hpublic/sega begutachtet werden kann.

Nun soll dieses zählen wie oft eine jede Datei geöffnet wird. Die Funktionsweise ist einfach:

statt die Datei xxx.jpg zu öffnen, wird die Datei ?dcnt=xxx.jpg geöffnet (dcnt=Download count). Dies bedeutet: nur der Anfangsbereich des Skriptes wird geparst und die Datei und die Datei wird via dem folgenden Code einfach geöffnet:

header("Location: ".$fileurl);

$fileurl könnte dann HTTP/1.1-gerecht http://localhost/m%C3%B6we.jpg lauten (bzw. statt m%C3%B6we.jpg auch möwe.jpg, is halt UTF8 ); in diesem Beispiel möchte ich ein Bild annehmen, da bei anderen Dateitypen der Fall nicht unbedingt eintreten muss:

Nun möchte ich ja nicht dem User verbieten, dass er sich dieses Bild auch nachträglich noch herunterlädt, dummerweise wenn er "Rechtsklick"-"Grafik speichern unter" durchführt (in Firefox, Opera und KOnqueror) wird ihm der Download-Dateiname localhost.htm (bzw. der Servername mit .htm) angeboten; IE bietet unbenannt.bmp an.. alles nicht so richtig!
 Bei "Datei" "Speichern unter" bietet zumindest Firefox den richtigen Dateinamen an (Opera/Konqueror untestet), aber auch hier schlägt IE den anderen Namen vor.

Wie kann ich bewirken, dass dem Browser der richtige Dateiname übergeben wird.

Danke,

Julian