функция readfile () не воспроизводит аудио файлы в браузере - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть требование, когда мне нужно проигрывать аудио файлы в браузере. Я не могу использовать прямой путь с каталогом, подобным '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 файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...