У меня есть сайт с аудиофайлами в базе данных MySQL, все из которых доступны для воспроизведения.Это прекрасно работает при использовании заголовков:
header("Content-length:". $audioLength);
header("Content-type: ". $audioMime );
echo $audio;
Где $ audioLength и $ audioMime хранятся вместе с файлом в базе данных, а $ audio - это фактические данные.
Теперь я хочудобавьте ссылки для загрузки некоторых файлов большего размера, чтобы пользователям, которые не знают, как загрузить mp3 со страницы, на которую они могут это сделать, было бы совершенно очевидно, а также размещать музыку на своих устройствах и делиться ими любым другим способом.им нравится.Мой PHP такой же, за исключением того, что я заменил заголовки на:
header("Content-type: attachment/octet-stream");
header("Content-disposition: attachment; filename=" . $fileName);
echo $audio;
Это все еще заставляет Safari и Firefox воспроизводить аудио, просто в новом окне.Как заставить диалоговое окно загрузки?Я предполагаю, что большинство других браузеров также будут воспроизводить файл, поэтому я еще не тестировал их ...
M
ОК - я потрясающий идиот !!!Я создал файл PHP, который будет загружаться вместо воспроизведения из файла, который воспроизводит.И я забыл изменить ссылку на новый PHP-файл в URL к файлам, которые я извлекал.Brilliant.У меня была первая попытка, она просто не сработала, потому что я звонил не туда, ФАЙЛ.
Итак, для всех, у кого есть этот вопрос - вот что работает:
header('Content-Type: '.$audioMime);
header("Content-disposition: attachment; filename=" . $fileName);
echo $audio;
Та-да!
Давай, смейся надо мной и дай мне значок идиота дня.Я это заслужил.
М