0

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 などのすべてのプラットフォームで強制的にダウンロードする方法はありますか?

4

1 に答える 1

0

content-dispositionファイルを提供するときは、HTTP ヘッダーを設定する必要があります。この HTTP ヘッダーを設定すると、ユーザーがファイルを保存または開くためのプロンプトを表示するようブラウザに指示されます。詳細については、次を参照してください。

http://support.microsoft.com/kb/260519

于 2011-09-23T21:40:15.563 に答える