私はここで少し助けが必要です。私はいくつかのmp3をホストするサイトを持っています。ユーザーがダウンロードURLをクリックすると、downloadmp3.phpというファイルに直接リンクします。これはurlの2つのパラメータになります。phpファイルは以下に含まれており、基本的にmp3を保存することをユーザーに強制します。 (ブラウザなどで再生しないでください)。PHP - MP3ファイルのダウンロードを強制する
これは起こりません。代わりに、ファイルがASCII形式でブラウザに書き込まれているようです。それは書かれた実際のmp3ファイルのようだ。
ここに私のdownloadmp3.phpファイルです...どうぞ、このコードで何が間違っていますか。 ローカルのLAMP(WindowsのBitnami Wampstack)で動作します。つまり、私のローカルテスト環境では、ファイルを自分のbroswerに送信して保存できます。実際のサーバーにアップロードすると、基本的にmp3ファイルが書き出されます。いいえ、他のオーディオやファイル形式 - ここ
がちなみに
<?php
include 'ngp.php';
$file = $_GET['songurl'];
$songid = $_GET['songid'];
increasedownloadcount($songid);
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: audio/mpeg');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
ob_clean();
flush();
readfile($file);
exit;
}
?>
を助けてください... downloadmp3.php、犯人ファイルで、このサイトでは、唯一のMP3ファイルをホストします。したがって、このdownloadmp3.phpスクリプトは、このファイルをどこに保存するかをユーザに尋ねるのが理想的です。
ご協力いただきありがとうございます。
は、あなたがこれらの異なる結果を得ているいくつかの使用である(ローカルホストから強制的にダウンロードして、サーバから書き出さ):
あなたはAJAX呼び出しでアクセスすることができ、またはこれは、同じブラウザで?異なるブラウザの場合は、それらは何ですか? – PetrHejda
私はChromeとFirefoxの両方で働いており、両方とも同じ読み込み用のmp3ファイルを吐き出しています。それは私のローカルマシン上のファイルを私に与えることを覚えています。それは、実際のウェブホストから、それがアスキースープを与えるものです。 – Hideyoshi