Wie kann ich das Dialogfeld "Speichern unter" mit PHP anzeigen, das den Benutzer auffordert, eine Zeichenfolge als Textdatei herunterzuladen? Grundsätzlich werde ich einige Werte aus der Datenbank abrufen und möchte dann eine TXT-Datei herunterladen können, die diese Daten enthält.
Nur um @Emil H's Antwort zu erweitern:
Diese Header-Aufrufe funktionieren nur im Kontext einer neuen Anfrage. Sie müssen etwas implementieren, mit dem Ihr Skript wissen kann, wann es die Datei tatsächlich sendet, im Gegensatz dazu, wenn es ein Formular anzeigt, das dem Benutzer mitteilt, die Datei herunterzuladen.
Um die Verwendung von header () zu verdeutlichen:
header () wird verwendet, um einen unformatierten HTTP-Header zu senden. Weitere Informationen zu HTTP-Headern finden Sie in der »HTTP / 1.1-Spezifikation.
Denken Sie daran, dass header () aufgerufen werden muss, bevor eine tatsächliche Ausgabe gesendet wird, entweder über normale HTML-Tags, leere Zeilen in einer Datei oder über PHP. Es ist ein sehr häufiger Fehler, Code mit include () oder require () , Funktionen oder einer anderen Dateizugriffsfunktion zu lesen und Leerzeichen oder leere Zeilen auszugeben bevor header () aufgerufen wird. Das gleiche Problem tritt auf, wenn eine einzelne PHP / HTML-Datei verwendet wird.
Sie ändern also grundsätzlich die gesamte Seite, wenn Sie header () verwenden. Stellen Sie sicher, dass der einzige Inhalt, den Sie wiedergeben, die Zeichenfolge ist.
Tags und Links php http mime-types