Heim >Backend-Entwicklung >PHP-Tutorial >Wie löst man Datei-Downloads in PHP automatisch aus?

Wie löst man Datei-Downloads in PHP automatisch aus?

Susan Sarandon
Susan SarandonOriginal
2024-11-24 07:36:10902Durchsuche

How to Automatically Trigger File Downloads in PHP?

So lösen Sie automatische Dateidownloads in PHP aus

Frage:

Wie implementiert man a Funktionalität in PHP, die Benutzer automatisch auffordert, eine Datei auf ihren lokalen Computer herunterzuladen, wenn sie auf einen Weblink klicken? Dies ist häufig auf Download-Sites zu beobachten, auf denen Benutzer durch Anklicken Softwaredateien auf ihren Festplatten speichern können.

Antwort:

Um dieses Verhalten zu erreichen, müssen Sie bestimmte Header senden vor der Ausgabe der Datei in PHP:

header("Content-Disposition: attachment; filename=\"" . basename($File) . "\"");
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($File));
header("Connection: close");

Der Content-Disposition-Header gibt an, dass der Browser den Benutzer auffordern soll, die Datei mit den bereitgestellten Informationen zu speichern Dateiname.

Der Content-Type-Header gibt an, dass die Datei als generischer Binärstream behandelt werden soll, den die meisten Browser als herunterladbare Datei erkennen.

Der Content-Length-Header legt die Größe fest die heruntergeladene Datei.

Schließlich weist der Header „Connection: close“ den Browser an, die Verbindung nach dem Download zu schließen wird abgeschlossen.

Zusätzliche Hinweise:

  • Einige Browser erfordern möglicherweise den MIME-Typ application/force-download anstelle von application/octet-stream.
  • Stellen Sie sicher, dass die Datei vorhanden und zugänglich ist, bevor Sie versuchen, sie herunterzuladen.

Das obige ist der detaillierte Inhalt vonWie löst man Datei-Downloads in PHP automatisch aus?. 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