Это небезопасно, и вам не нужно делать это таким образом.
В дополнение к последствиям для безопасности @ceejayoz обрисовывает в общих чертах, если включена опция PHP allow_url_fopen
, онаможно вставить любой URL в $url
.Таким образом, ваш сервер может быть легко использован для потоковой передачи больших объемов данных с других серверов со всеми видами последствий.
Этот метод обслуживания файлов следует использовать только тогда, когда это действительно необходимо.Он потребляет больше ресурсов (потому что должен быть запущен дорогой процесс PHP), чем запрашивает статический ресурс через веб-сервер.
В любом случае это не должно быть необходимо в вашем случае.Похоже, ваш веб-сервер не обслуживает правильный заголовок content-type
вместе с вашими файлами MP3.Это то, что вы должны исправить.
Возможно, если вы используете Apache, добавьте файл .htaccess
в каталог, в котором находятся файлы MP3 со следующим содержимым:
AddType audio/mpeg .mp3
ужеустраняет проблемуЕсли это не так, но force-download
работает, попробуйте
AddType application/force-download .mp3