Mime-тип загружаемого файла
Я пытаюсь создать загружаемые видеофайлы. На моем сайте есть список файлов. Все видео представлены в формате .flv (flash). Для всех видео есть точная ссылка на файл. Но во всех браузерах после нажатия контент загружается в окно браузера. Мне это не нужно. Как я понимаю, я должен создать страницу перенаправления, которая содержит mime-тип загружаемого файла. Что именно я должен делать? Язык: php
2 answers
Создайте страницу PHP со следующим:
<?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);
?>
Установите $filepath
в путь к загружаемому файлу и установите Content-Type
в тип mime загружаемого файла.
Укажите ссылку "загрузить" на эту страницу.
Для нескольких файлов одного типа:
<?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);
?>
Замените информацию, как указано выше, и укажите ссылку "загрузить" на эту страницу параметром GET с именем "путь к файлу", содержащим путь к файлу.
Например, если вы назовете этот php-файл "download.php ", укажите ссылку для загрузки файла с именем "movie.mov" (в том же каталоге, что и download.php ) в "загрузить.php?путь к файлу=movie.mov".
Рекомендуемый тип MIME для этого application/octet-stream
:
Подтип "октетный поток" используется для указания на то, что тело содержит произвольные двоичные данные. […]
Рекомендуемое действие для реализации, которая получает объект "приложение/октетный поток", состоит в том, чтобы просто предложить поместить данные в файл с отмененной кодировкой передачи содержимого или, возможно, использовать его в качестве входных данных для указанного пользователем процесса.