У меня есть требование, когда мне нужно проигрывать аудио файлы в браузере. Я не могу использовать прямой путь с каталогом, подобным 'https://website.com/assets/uploads/filename.mp3'
, поэтому мне предложили использовать функцию readfile (), которая успешно воспроизводит видеофайлы, а также отображает PDF-файлы в браузере. Я создал API с приведенным ниже кодом для просмотра файлов в браузере.
$document = base64_decode($doc);
$_file = "{$_SERVER['DOCUMENT_ROOT']}/assets/uploads/top_speak/" . $document;
$ext = pathinfo($_file, PATHINFO_EXTENSION);
$content_type = $this->common->get_mime_type($ext);
header("Accept-Ranges: bytes");
header("Connection: Keep-Alive");
header("Content-Type: $content_type");
header("Keep-Alive: timeout=5, max=100");
header("X-Sendfile: $_file");
readfile($_file);
exit;
Но когда я попытался воспроизвести аудиофайлы, он непосредственно загружает файл. Я использую MIME типа audio/mpeg
для воспроизведения аудиофайлов.
Вместо загрузки я хочу воспроизвести этот аудиофайл в браузере.
Я запрещаю доступ к прямому пути, например https://website.com/assets/uploads/filename.mp3
используя .htaccess
файл.