Header Problem beim Filedownload + Popup

Homwer

Mitglied
Grüße euch.

Ich Leite mit nem Link auf nen Download weiter
also

http://bla.de/down.php?file=Bla.zip

nun setze ich den Header mit der down.php auf die eigentliche file.
usw. alles kein Problem.

Im Hintergrund, soll sich nun ein popup öffnen, welches ja eigentlich ganz einfach mit JS bewerkstellit werden könnte.

Nun bekomme ich aber das Header-Problem, von wegen Header schon gesetzt usw.

Wie umgehe ich das?


Quasi.
Wie Lade ich im Hintergrund nen Popup und setze gleichzeitig den header auf nen Download.?
 
Mit PHP alleine wirst du da nicht weiterkommen, denn PHP kann nur eines von beidem:
Entweder einen Location-header senden, oder den JS-Code ausgeben, um das Popup zu Öffnen.
Sobald du das JS ausgibst, kannst du keinen header mehr senden, und sobald du den header sendest, kannst du das JS nicht mehr ausgeben, da das PHP-Skript verlassen wurde :-)

Du könntest bspw. so vorgehen:
Öffne mit deinem Link das Popup. In dem Popup platziere einen <object>-Tag. Die zu downloadende Datei gebe dort beim data-Attribut an. Welche Datei das sein soll, kannst du dem Popup ja per URL übergeben.

Sodann sollte der Download starten, da der Browser die Datei nicht selbst verarbeiten kann.
Das ginge dann sogar ohne JS...wenn du auf ein bestimmtes Aussehen des Popups verzichten kannst.
 
Zurück