Я загрузил несколько примеров mp3-файлов в каталог за пределами httpdocs, я убедился, что это доступно для PHP, правильно настроив open_basedir и проверил, работает ли этот каталог.
Что я хотел бы сделатьЭто потоковая передача этих файлов через файл PHP, поскольку пользователи, не прошедшие проверку подлинности, никогда не должны иметь доступ к этим файлам.В настоящее время я использую jPlayer и ожидаю, что функция setMedia должна выглядеть примерно так:
$("#jquery_jplayer").jPlayer("setMedia", { mp3: "stream.php?track=" + id + ".mp3" });
Я попытался установить заголовки содержимого и т. Д. В stream.php, и в настоящее время это выглядит так:
$filePath = "../song_files/mp3/";
$fileName = "$_GET[track].mp3";
header("Content-Type: audio/mpeg");
header('Content-Disposition: attachment; filename="'.$fileName.'"');
getFile($filePath + $fileName);
Если я загружаю эту страницу напрямую, файл mp3 скачивается и воспроизводится нормально, но когда я использую вышеуказанный javascript, jPlayer не воспроизводит дорожку.
Я посмотрел этот пост ( Потоковая передача MP3 на стандартный вывод на Jplayer с использованием PHP ), и кажется, что пользователь пытался достичь именно того, чего я хочу, но после тестирования решенияЯ продолжаю сталкиваться с проблемой, все, что я получаю, это "Сбой CURL".
Существуют ли какие-либо другие методы, которые я могу использовать для достижения этой цели.Я буду очень признателен за указание в правильном направлении.