これはあなたが欲しいものですか?
<form action="post.php" method="post">
<input name="file" placeholder="file"/>
<input type="submit" value="GO"/>
</form>
post.php
<?php
if(!empty($_POST['file'])) {
$folder = 'files/';
if(file_exists($folder . $_POST['file'])) {
echo '<a href="'. $folder . $_POST['file'] .'">download</a><br/>';
}
exit;
}
// if not, return to index.php, or whatever page the client was on
header('location: index.php');
?>
お知らせ:
- フォルダは、クライアントがアクセス権を持っていない場所であることが可能です。 隠しフォルダのファイルへのリンクを表示する代わりに、一時フォルダにコピーします。
copy($ folder。$ _POST ['file']、 'temp /'。$ _POST ['file']);
- これは安全ではありません。 $ _POST ['file']をチェックすると、ハッカーは見たくないファイルにアクセスしようとしません。 pathinfoはこれに使用できます。 (これが安全でないことを誰かが知っている場合は、ご意見ください)
$ file = pathinfo($ _ POST ['file']、PATHINFO_BASENAME);
そのため、おそらくこのような何か(これは、あなたが「一時」というフォルダを必要とする意味)
<?php
if(!empty($_POST['file'])) {
$file = pathinfo($_POST['file'], PATHINFO_BASENAME);
$folder = 'files/';
if(file_exists($folder . $file)) {
copy($folder . $file , 'temp/' . $file);
echo '<a target="_blank" href="temp/'. $file .'">download</a><br/>';
}
exit;
}
// if not, return to index.php, or whatever page the client was on
header('location: index.php');
?>