Ich möchte unter jedem Video auf einer meiner Websites eine Funktion “Diese Datei herunterladen” hinzufügen. Ich muss den Benutzer zwingen, die Datei herunterzuladen, anstatt nur darauf zu verlinken, da dadurch manchmal eine Datei im Browser abgespielt wird. Das Problem ist, dass die Videodateien auf einem separaten Server gespeichert werden.
Irgendwie kann ich den Download in PHP erzwingen?
mögliches Duplikat von Forcing to download a file using PHP
Ich habe es gerade getestet und bei mir funktioniert es.
Bitte beachten Sie, dass z readfile Um eine Remote-URL lesen zu können, müssen Sie Ihre haben fopen_wrappers aktiviert.
Denken Sie nur daran zu gehen: str_replace(‘”‘, ‘\\”‘, $file_name) bevor Sie es in den Header einfügen
– Chris KL
10. Februar 2009 um 7:49 Uhr
Der Fehler dabei ist, dass das gesamte Video über seinen Server laufen würde. Wenn sich das Video aus Bandbreitengründen auf einem separaten Server befindet, ist diese Lösung nicht akzeptabel.
– Zoredache
10. Februar 2009 um 7:57 Uhr
Punkt genommen. Aus dem Klang der Frage habe ich jedoch den Eindruck gewonnen, dass er keinen Zugriff auf diesen Remote-Server hat, sonst wäre es ein triviales Problem. Wenn das der Fall ist, wäre dies meines Wissens die einzige Lösung.
– Paolo Bergantino
10. Februar 2009 um 8:18 Uhr
Ich denke, dass die Verwendung von readfile die Bandbreite beider Seiten verbraucht. Der Hauptgrund, warum jemand dies tun möchte, ist, etwas Bandbreite zu sparen
– poya
13. September 2012 um 1:25 Uhr
@Ben Wenn Sie Zugriff auf den Server haben, auf dem sich die Datei befindet, können Sie einfach readfile von ihm statt aus der Ferne, wodurch das Problem der doppelten Bandbreite beseitigt wird.
Der Schlüssel ist die header(). Sie müssen den Header zusammen mit dem Download senden und erzwingt den Dialog “Datei speichern” im Browser des Benutzers.
mit diesem Code. ist es möglich, den Dateinamen zu speichern, was Sie wollen. zum Beispiel haben Sie eine URL: http://remoteserver.com/file.mp3 Anstelle von “file.mp3” können Sie dieses Skript verwenden, um die Datei als “newname.mp3” herunterzuladen
Obwohl Ihr Code großartig aussieht und die Frage höchstwahrscheinlich beantwortet, fügen Sie bitte eine Erklärung hinzu, wie er funktioniert, damit die Leute verstehen, warum er funktioniert.
– Manchester ohne Marke
19. Juni 2020 um 22:03 Uhr
9233400cookie-checkphp – Wie erzwinge ich den Download einer Datei?yes
mögliches Duplikat von Forcing to download a file using PHP
– bummi
5. August 2013 um 14:49 Uhr