ファイルが保存されているフォルダーを設定してすべてを拒否すると、 readfile を使用してアクセスできるようになります。
<?php
if (!empty($_POST)) {
$user = $_POST['user'];
$pass = $_POST['pass'];
if($user == "admin"
&& $pass == "admin")
{
$file = 'path/to/file';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
}
?>
<form method="POST" action="">
User <input type="TEXT" name="user"></input>
Pass <input type="TEXT" name="pass"></input>
<input type="submit" name="submit"></input>
</form>