Heim >Backend-Entwicklung >PHP-Tutorial >Wie erzwinge ich Dateidownloads in PHP, wenn es auf einem separaten Server gehostet wird?
Erzwingen von Dateidownloads in PHP, wenn sie auf einem separaten Server gehostet werden
Wenn Benutzern die Option „Diese Datei herunterladen“ bereitgestellt wird, insbesondere für Videos , ist es wichtig, den Download zu erzwingen, um die Wiedergabe im Browser zu verhindern. So können Sie dies in PHP erreichen, auch wenn die Videodateien auf einem anderen Server gespeichert sind:
<?php // Set file details. $file_name = 'file.avi'; $file_url = 'http://www.myremoteserver.com/' . $file_name; // Configure download headers. header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"\"" . $file_name . "\"\""); // Initiate download. readfile($file_url); // Prevent further script output. exit;
Dieses PHP-Skript konfiguriert die notwendigen Header, um den Browser zu zwingen, die Datei herunterzuladen, anstatt sie abzuspielen. Browser. Außerdem wird die Funktion readfile() verwendet, um die Datei vom Remote-Server abzurufen und auszugeben.
Hinweis: Um readfile() das Lesen von einer Remote-URL zu ermöglichen, stellen Sie sicher, dass fopen_wrappers aktiviert ist .
Das obige ist der detaillierte Inhalt vonWie erzwinge ich Dateidownloads in PHP, wenn es auf einem separaten Server gehostet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!