Stefan Bach: Frage zu Downloads und Dateinamen

Beitrag lesen

Hallo,

Folgendes Problemchen läßt mich nicht schlafen. Ich habe ein Upload-Modul gebastelt, welches den Dateinamen in eine SQL-DB schreibt und die Datei selber mit User-ID und Datei-ID speichert.
Beim Download muss jedoch wieder der Dateiname aus der DB angegeben werden.

Erstelle auf deinem Server eine Adresse die du zum downloaden verwendest. Irgendwas wie http://example.com/downloads/uid/fid/filename.ext

Der Server schreibt die Adresse nun via mod_rewrite um und ruft dein PHP Script auf, in etwa so:
http://example.com/download.php?user=uid&file=fid

Jetzt kann dein Script die Datei mit passendem Content-type Header versehen ausschicken, für den Browser sieht es aber so aus, als ob er direkt filename.ext vom Server bkommen würde. Also werden die meisten Browser die Datei dann auch unter diesem Namen speichern. (Zumindest ihn als Standard vorschlagen.)

Viele Grüße,

Stefan