Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie den Dateidownload mit PHP-Code

So implementieren Sie den Dateidownload mit PHP-Code

藏色散人
藏色散人Original
2020-08-05 10:29:382377Durchsuche

In PHP können Sie Dateien über die Header-Methode herunterladen. Die Syntax lautet „header('Content-type: application/pdf');“, mit der der Typ des heruntergeladenen Dokuments angegeben wird.

So implementieren Sie den Dateidownload mit PHP-Code

Empfohlen: „PHP-Video-Tutorial

PHP-Code zum Herunterladen von Textdateien über Kopfzeilen

Das sogenannte Herunterladen von Textdateien bedeutet, dass wir, wenn wir auf einen Link zu einer Textdatei klicken, es wird nicht geöffnet. Anstelle dieser Datei erscheint ein Download-Dialogfeld, das wir herunterladen können

Dies ist das Hauptproblem, das heute besprochen wird. Die Anweisungen im PHP-Hilfedokument zum Auslösen von Downloads durch PHP über Header sind relativ einfach, und es gibt nur sehr wenige Artikel zu diesem Aspekt im Internet, und viele Artikel können nicht den gewünschten Effekt erzielen. Heute werde ich auch über dieses Thema sprechen. Wenn Sie das Gefühl haben, dass es im Vergleich zu einigen Artikeln im Internet verbessert wurde, bin ich sehr zufrieden.

Aus genauer Sicht ist das PHP-Dokument das genaueste, da es die drei Anweisungen, die zum Auslösen des Herunterladens von Textdateien erforderlich sind, prägnant auflistet:

Der Code lautet wie folgt:

// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');

Diese drei Sätze sind korrekt, aber bei der tatsächlichen Verwendung können leicht unvorhergesehene Probleme auftreten. Wenn Sie eine sehr vorsichtige Person sind, können Sie diese Probleme leicht vermeiden. Aber ich bin nicht auf ein solches Problem gestoßen. Hier werde ich kurz über mein Problem sprechen.

Zum ersten Satz sollte es nichts zu sagen geben, es ist notwendig, einfach den Typ des Dokuments zu ändern. Wenn Sie beispielsweise eine TXT-Datei herunterladen, ändern Sie sie in header('Content-type: application/. txt');, Kapitel 1 Im zweiten Satz gibt es nicht viel zu sagen, geben Sie Ihrem heruntergeladenen Dokument einfach einen Namen. Wenn es sich um eine txt-Datei handelt, können Sie ihn in header('Content-Disposition: attachment; filename=" ändern. heruntergeladen.txt"');, der dritte Satz Es gibt weitere Probleme. Die Funktion readfile bedeutet, eine Datei zu lesen und dann auszugeben. Der Pfad der Datei muss hier der tatsächliche Dateipfad sein. Wenn es sich um eine Original.txt handelt Datei im Download-Ordner können Sie readfile(' downloads/original.txt'); schreiben. Wenn die übermittelte Seite Text und andere Zeichen ausgibt, ist die heruntergeladene Datei eine gemischte Datei aus der Originaldatei original.txt und der Textausgabe der übermittelten Seite. Mir mangelte es hier an sorgfältiger Beobachtung. Sobald ich sah, dass etwas nicht stimmte, überprüfte ich sofort den Code, stellte jedoch fest, dass der obige Text nicht das war, was ich brauchte Um dieses Problem zu lösen, wird die Ausgabe des Textinhalts der übermittelten Seite deaktiviert.

An diesem Punkt ist unser Problem gelöst, wodurch der Effekt erzielt wird, dass das Download-Dialogfeld ausgelöst wird, wenn auf den Textdatei-Link geklickt wird.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Dateidownload mit PHP-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn