OK、MP3 形式のポッドキャストを提供する Web サイトを持っています。MP3 ファイルの要求をダウンロード スクリプトにルーティングする .htaccess があり、それは次のとおりです。
<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);
すべてが PC とほとんどの Mac ブラウザーで美しく機能します。ただし、Safari では、Quicktime がダウンロードを傍受しています。iPhone や iPad でも同じことが起きています。ターゲット ユーザーはほとんどが Apple ユーザーである可能性が高いため、デバイスに関係なく、Quicktime プラグインを使用してブラウザーで再生するのではなく、ダウンロードするボタンを [ダウンロード] ボタンに付けてほしいと思います。「ストリーム」ボタンはブラウザでファイルを再生できますが、「ダウンロード」ボタンは再生できません。
右クリック (または Cmd + クリック) して [名前を付けてファイルを保存...] を実行することはできません。
ユーザーが [ダウンロード] ボタンをクリックする以外に何もする必要がない、PHP、HTTP、HTML などのすべてのプラットフォームで強制的にダウンロードする方法はありますか?