Heim > Backend-Entwicklung > PHP-Tutorial > So erzwingen Sie Dateidownloads in PHP: Downloads statt Wiedergabe sicherstellen?

So erzwingen Sie Dateidownloads in PHP: Downloads statt Wiedergabe sicherstellen?

Linda Hamilton
Freigeben: 2024-11-15 07:43:02
Original
665 Leute haben es durchsucht

How to Force File Downloads in PHP: Ensuring Downloads Instead of Playback?

So initiieren Sie erzwungene Dateidownloads in PHP

Das Erzwingen von Dateidownloads anstelle einer bloßen Verknüpfung mit ihnen kann entscheidend sein, um unerwünschte Videowiedergabe in zu verhindern Browser. Dies ist besonders relevant, wenn Videodateien auf externen Servern liegen. Glücklicherweise bietet PHP eine Lösung für dieses Szenario.

Um Downloads mit PHP zu erzwingen, ziehen Sie den folgenden Ansatz in Betracht:

1. Header konfigurieren:

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"". $file_name . "\"");
Nach dem Login kopieren
  • Content-Type: Gibt an, dass der Inhalt ein Oktett-Stream ist, also ein binärer Datenstrom.
  • Content-Transfer-Encoding: Zeigt an, dass die Daten binär übertragen werden Format.
  • Content-disposition:Legt den Anhang und den Dateinamen für den Download fest.

2. Rufen Sie die Funktion readfile() auf:

readfile($file_url);
Nach dem Login kopieren
  • readfile() versucht, den Inhalt einer Datei zu lesen und in den aktuellen Ausgabepuffer zu schreiben.
  • $file_url ist die Remote-URL, unter der sich die Datei befindet gehostet.

3. Weitere Ausgabe verhindern:

exit;
Nach dem Login kopieren
  • Diese Zeile stellt sicher, dass nach dem Start des Downloads kein zusätzlicher Inhalt ausgegeben wird.

Zusätzliche Überlegungen:

  • Damit readfile() auf die Remote-URL zugreifen kann, stellen Sie sicher, dass fopen_wrappers vorhanden ist aktiviert.
  • Diese Methode initiiert den Download unabhängig vom Dateityp. Erwägen Sie für bestimmte Dateitypen die Verwendung der in PHP integrierten Funktionen wie header('Location: ...') oder unlink().

Das obige ist der detaillierte Inhalt vonSo erzwingen Sie Dateidownloads in PHP: Downloads statt Wiedergabe sicherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage