私の質問は、すべてのファイル タイプに対してヘッダー ダウンロード PHP メソッドを使用する方法があるかどうかです。
<?php
$fileid = $_GET['fid'];
$filename = $_GET['fn'];
$auth_code = $_GET['dlauth'];
$folder = $_GET['fi'];
echo $file = $folder."/".$filename;
if (empty($fileid) || empty($filename) || empty($auth_code) || empty($folder)) {
echo "Malformed ID, please go back and try to download again";
} else {
if (strlen($auth_code) > 25) {
echo "Download session has expired or is malforned";
} else {
header("Content-Disposition: attachment; filename=$filename");
header('Content-Length: ' . filesize($file));
header("Pragma: no-cache");
header("Expires: 0");
readfile($file);
}
}
?>
これはzipファイルなどをダウンロードするため、まったく問題ありません。ただし、それ以外の場合は、破損するだけです。
ファイル拡張子を持つコンテンツ タイプを決定するために switch ステートメントを使用しなくても、誰もが何らかの手がかりを得ました。
ありがとう!