ブラウザで開くのではなく、ファイルを強制的にダウンロードするために使用している次のコードがあります。
if(isset($_POST['file_name'])){
$player_file = $_POST['file_name'];
$accessKey = "REMOVED";
$secretKey = "REMOVED";
$bucket = $_POST['bucket'];
$fname = $_POST['fname'];
$zip_url = el_s3_getTemporaryZipLink($accessKey, $secretKey, $bucket, $fname);
$mp3_url = el_s3_getTemporaryMP3Link($accessKey, $secretKey, $bucket, $fname);
header('Content-type: audio/mpeg3');
header('Content-Disposition: attachment; filename="themixtapesite_'.$player_file.'"');
readfile($mp3_url);
exit();
}
ご覧のとおり、フォームからすべての変数を渡します。次に、その情報を使用して、Amazon S3 に保存されているファイルの一意の署名付き URL を生成します。
ファイルが MP3 の場合は $mp3_url を使用する必要があり、Zip ファイルの場合は $zip_url を使用する必要があります。
これは非常に単純でなければなりませんが、私は一日中この画面の前に座っていたので、完全に頭が真っ白になりました!
どんな助けでも感謝します。