Ich versuche, herunterladbare Video-Dateien zu erstellen. In meiner Website gibt es eine Liste von Dateien. Alle Videos sind im FLV-Format (Flash). Für alle Videos gibt es einen genauen Link zur Datei. Aber in allen Browsern nach dem Klicken auf Inhalt wird in das Browserfenster geladen. Ich brauche das nicht. Wie ich verstehe, sollte ich Redirect-Seite erstellen, die Mime-Typ der Download-Datei enthält. Was genau soll ich machen? Sprache: phpMime-Typ der Datei herunterladen
Antwort
erstellen PHP-Seite mit dem folgenden:
<?php
$filepath = "path/to/file.ext";
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filepath");
header("Content-Type: mime/type");
header("Content-Transfer-Encoding: binary");
// UPDATE: Add the below line to show file size during download.
header('Content-Length: ' . filesize($filepath));
readfile($filepath);
?>
Set $filepath
auf den Pfad der Datei heruntergeladen werden, und legen Sie Content-Type
auf den MIME-Typ der Datei heruntergeladen werden.
Zeigen Sie den "Download" -Link auf diese Seite.
Für mehrere Dateien des gleichen Typs:
<?php
$filepath = $_GET['filepath'];
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filepath");
header("Content-Type: mime/type");
header("Content-Transfer-Encoding: binary");
// UPDATE: Add the below line to show file size during download.
header('Content-Length: ' . filesize($filepath));
readfile($filepath);
?>
die Informationen austauschen, wie oben angegeben, und zeigen Sie den Link „Download“ auf dieser Seite mit einem GET-Parameter mit dem Namen „Dateipfad“ mit dem Dateipfad.
Zum Beispiel, wenn Sie diese php-Datei "download.php" nennen, zeigen Sie den Download-Link für eine Datei namens "movie.mov" (im selben Verzeichnis wie download.php) zu "download.php? Filepath = movie.mov ".
Die empfohlene MIME-Typ für das heißt application/octet-stream
:
Der „octet-stream“ Subtyp verwendet wird, um anzuzeigen, dass ein Körper beliebige binäre Daten enthält. [...]
Die empfohlene Aktion für eine Implementierung, die eine "application/octet-stream" -Entität erhält, besteht darin, einfach die Daten in eine Datei zu stellen, mit beliebigem Content-Transfer-Encoding rückgängig zu machen oder vielleicht zu verwenden als Eingabe für einen benutzerdefinierten Prozess.
- 1. YAML Mimetyp?
- 2. Benachrichtigungssymbol beim Herunterladen der Datei
- 3. Code zum Herunterladen der Datei
- 4. Dateigrößenunterschied beim Herunterladen der Datei
- 5. okhttp nicht herunterladen der Datei
- 6. Silverlight 2 - Datei herunterladen - IE Blöcke Datei herunterladen
- 7. Herunterladen der PDF-Datei mit OKHTTP
- 8. Serverseitige Route zum Herunterladen der Datei
- 9. Manuelles Herunterladen der Datei - PhantomJS mit Selenium
- 10. Herunterladen der neuesten Datei mit Wget/Curl
- 11. ASP.MVC Sitzung verloren beim Herunterladen der Datei
- 12. Problem beim Herunterladen der Datei mit PHP
- 13. Große Datei herunterladen
- 14. Datei von AppHarbor herunterladen
- 15. pdf datei herunterladen
- 16. Xcode: MP3-Datei herunterladen
- 17. JQuery Datei herunterladen ($ .fileDownload)
- 18. Datei herunterladen vollständigen Rückruf
- 19. Flask Eine Datei herunterladen
- 20. Loopback Datei herunterladen
- 21. Wie sichere Datei herunterladen?
- 22. Datei herunterladen über Header
- 23. AFHTTPClient mehrere Datei herunterladen
- 24. PHP CURL Datei herunterladen
- 25. Erzwingen CSV-Datei herunterladen
- 26. Django eine Datei herunterladen
- 27. Javascript automatische Datei herunterladen
- 28. Datei herunterladen mit Javascript
- 29. Datei herunterladen mit HtmlUnit
- 30. Datei mit Büroklammer herunterladen
Wie ich download.php weiß? Filepath = movie.mov ist nicht gut =) Denn Everyboady konnte jede Datei vom Server herunterladen. Danke trotzdem. – Ockonal
Alternativ können Sie eine PHP-Datei für jede Filmdownload-Datei erstellen. Aber das könnte langweilig werden. –
Sorry, aber Ihre Methode funktioniert nicht = (. Nach dem Skript habe ich ein Fenster vom Browser zum Download. Es ist das, was ich brauche, aber es downloadet Datei, die 0 Bytes = ( – Ockonal