Max Smily: dynamischer Download per header

Beitrag lesen

Hallo Forum,

ich habe ein Download-Tool erstellt, welches die Downloads per header() und readfile() ausführt. Dies ist nötig, weil für jeden Download vorab einige Funktionen ausgeführt werden müssen und auch ein direkter Link zur Datei nicht erlaubt sein soll. Das Script holt anhand der Datei-Id alle nötigen Pfade etc. und führt im Kern dann dies aus:

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename="$save_as_name"");
// weitere Cacheheader wegen Übersichtlichkeit ausgelassen
readfile($filename);

Das funktioniert alles sehr gut. Allerdings muss ich für diese Ausgabe ein neues Browserfenster öffnen (z. Zt. ein kleines Javascript-Popup), welches keine HTML-Ausgabe haben darf, da dies mit den oben genannten Headern kollidieren würde. Genau das stört mich aber. Ich möchte bei jedem Download-Link sofort den Speicherdialog haben, ohne ein Pop-Up bzw. neues Browserfenster. Es soll also nach Klick auf den Download-Link die Dateiliste neu aufgebaut werden und auch der Download starten, also zwei Headertypen abgearbeitet werden.

Ich erinnere mich, dass bei dynamischen Grafiken auch zwei Header verarbeitet werden, der normale für die HTML-Ausgabe und einer für das Bild im IMG-Tag. Geht das auch bei meinem Problem. Ich bitte um hilfreiche Tipps... Danke

Grüße aus Berlin
Max Smily