• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Weiterleitung nach Dateidownload funktioniert nicht

Status
Für weitere Antworten geschlossen.

Bluecaspar

Neues Mitglied
Hallo,

ich habe folgendes Problem:

Ich möchte einen Dateidownload auslosen. Das erreiche ich indem ich die Datei dowload.php aufrufe, in der folgendes drin steht:

$filename = "file.txt";
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=".$filename."");
header("Content-Length: ".filesize($filename));
readfile($filename);
clearstatcache();

Das funktioniert auch so wie es soll. Nur möchte ich darauf eine andere Seite automatisch aufrufen, was bisher noch nicht funktioniert.

Normalerweise funktioniert da:

header('Location: andereseite.php');

oder:

echo ("<script type=\"text/javascript\">
document.location.href='andereseite.php';
</script>");

Nach dem der Download durchgeführt wurde bewirken die beiden Befehle aber nichts mehr? Kann mir jemand sagen warum, und wie ich das Problem beheben kann?
 
ganz einfach da du nach einem download nciht auf eine andere seite weiterleiten kannst.

nachdem die download header gesendet wurden und du anfängst die datei zu senden kannst du keine header mehr verändern also keinen Location header mehr senden und wenn du danach dieses javascript zeuch ausgeben würdest würde das noch mir zu der datei die runtergeladen wird hinzugefügt werden... ^^
 
Naja, es funktioniert nicht mehr, weil Du ja bereits header gesendet hast. Und JavaScript funktioniert nicht, weil Du - wenn ich Dich richtig verstanden habe - eine Datei ausliefern willst und keine HTML-Seite.
Ich wüsste im Moment nicht, ob das so geht. Am ehesten denke ich daran, den Download in einem eigenen Fenster/Tab zu starten und in der Originalseite die Weiterleitung zu machen.
 
im body-tag deines downloadfensters könntest du noch mit onload eine funktion einbauen, die ein "anderes" fenster öffnet und das download-fenster wieder schliesst. ist zwar nur ein krücke, aber funktioniert.
 
Es gibt auch eine Funktion in PHP die man aufrufen kann, wenn die Verbindung zum Clienten getrennt wird. Mit dieser Funktion könnte man dann einen Wert in eine Datei schreiben. Und mit Ajax prüft man den INhalt dieser Datei alle x Sekunden. ;-)
Weiß im Monent leider nicht wie man die Funktion aufrufen lassen kann...

Viele Grüße,
Marlin
 
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Zurück
Oben