Browser Fenster schliessen nach header Befehl

Rios

Erfahrenes Mitglied
hi,

Ich benutze einen header Befehl, um eine Datei downzuloaden, in diesem Fall eine "vCard", das ist eine Art Textdatei, die man in Outlook importieren kann.

Ich rufe das Script durch nen link in ein neues Fenster auf ,dummerweise bleibt das neue Fenster, nachdem man speichern oder öffnen klickt, offen.

Hier mal der code Teil:
PHP:
Header("Content-Disposition: attachment; filename=$filename");
Header("Content-Length: ".strlen($output));
Header("Connection: close");
Header("Content-Type: text/x-vCard; name=$filename");

echo $output;

Ein schliessen des Fensters nach dem echo Befehl mit javascript funktioniert nicht.
Welche andere Möglichkeiten gibt es da noch?
 
Zuerst einmal: Das ist kein PHP Problem, PHP ist serverseitig ausgeführt und kann daher soetwas nicht regeln und blablabla das Thema ist oft genug durchgekaut worden.

Mach doch einfach einen Button mit onClick und dann javascript schließen oder irgendsoetwas ...
 
Dass php serverseitig ist und kein browserfenster schliessen kann, ist doch klar, aber es muss doch eine andere Möglichkeit geben, eine Datei an den Browser zu schicken, ohne dabei ein Fenster offen zu lassen.
 
Kannst ja auf deiner Hauptseite die Datei schicken und dann per meta refresh weiterleiten ... Ein Fenster wirst du _immer_ haben. Ich hab nie eine Datei gesaugt wo nicht irdgend eine Art Fenster geöffnet wurde ...

Wenn du weißt dass es kein PHP Problem ist, warum postest du dann ins PHP Forum?
 
roflmao, mit Fenster meinte Ich ein popup, falls das nicht deutlich rausgekommen ist.

Nach dem echo Befehl führt er keinen meta oder javascript Befehl mehr aus, das ist ja das Problem.
 
Wenn du den Link nicht auf ein neues Fenster schreibst (sprich ohne target="...") dann startet der Browser den Download bleibt aber auf der aktuellen Seite.

Hoffe das hilft dir.

Ich weis allerdings nicht wie es FireFox/Mozilla machen. Kenne nur Opera/IE.
 
Zurück