ОК. У меня есть веб-сайт, который обслуживает подкасты в формате MP3.Существует .htaccess, который перенаправляет запросы на файлы MP3 в сценарий загрузки, а именно:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*.mp3)$ download.php?file=$1
</IfModule>
Сценарий загрузки PHP выглядит следующим образом:
$filename = (isset($_REQUEST['file']) ? $_REQUEST['file'] : '');
$filesize = @filesize($filename);
if ($filename == '' || $filesize == 0) exit(0);
header("Content-Type: audio/mpeg");
header("Content-Description: {$filename}");
header("Content-length: {$filesize}");
header("Content-Disposition: attatchment; filename={$filename}");
readfile($filename);
Все работаеткрасиво на ПК и в большинстве браузеров Mac.Однако в Safari Quicktime перехватывает загрузку.То же самое происходит на iPhone и iPad.Поскольку целевой аудиторией, скорее всего, будут в основном пользователи Apple, я бы хотел, чтобы кнопка «Загрузить» сделала именно это - загружала, а не играла в браузере с плагином Quicktime, независимо от устройства.Кнопка «Поток» может воспроизводить файл в браузере, но не кнопка «Загрузить».
Выполнение щелчка правой кнопкой мыши (или Cmd + Click) и сохранение файла как ... не допускается.
Есть ли способ принудительной загрузки на всех платформах с PHP, HTTP, HTML и т. Д., Который не требует от пользователя ничего делать, кроме нажатия кнопки «Загрузить»?