Могу ли я обслуживать файлы MP3 с помощью PHP?
Точно так же, как можно обслуживать изображения с php, для использования в CAPTACHAS и т.д., можно ли сделать то же самое со звуковыми файлами?
Я пробовал это
<?php
$track = "sometrack.mp3";
if(file_exists($track)) {
header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($track));
header('Content-Disposition: filename="sometrack.mp3"');
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');
print file_get_contents($track);
} else {
echo "no file";
}
Я использую Safari, который может воспроизводить файлы MP3. Он запускает Safari в правильном режиме, я получаю элементы управления Quicktime в течение нескольких секунд, а затем "Нет видео".
Я пытаюсь защитить файлы от несанкционированной загрузки, если вам интересно, почему я хочу это сделать.
Ответы
Ответ 1
В вашем Content-Disposition должно быть:
header('Content-Disposition: attachment; filename="sometrack.mp3"');
Не уверен, что эта проблема. Я бы также рекомендовал использовать readfile
для вывода файла:
readfile($rSong);
Кроме того, не удастся использовать исчерпывающий заголовок Content-Type и установить Content-Transfer-Encoding:
header("Content-Transfer-Encoding: binary");
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
Ответ 2
попробуйте использовать Этот класс, который поддерживает загрузку резюме и ограничение скорости, верят мне, что это нужно как владелец веб-сайта загрузки mp3.