我有以下代碼,我使用它來強制下載文件而不是在瀏覽器中打開。動態設置內容類型
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上的文件生成唯一的Signed URL。
如果文件是MP3,我需要它使用$ mp3_url,如果它是一個Zip文件,我需要使用$ zip_url。
這一定很簡單,但我一直坐在這個屏幕前面整天現在我已經有了一個完整的頭腦空白!
任何幫助表示讚賞。
創建一個數組控件擴展。檢查請求文件的擴展名並據此設置內容類型。 – SachinGutte
依靠擴展內容類型檢查是一個壞習慣... – BenM