我做了一个PHP页面,在一个文件夹中显示文件列表。现在我不希望有人直接访问此文件夹,我计划添加一个重定向到 index.php 的 PHP 脚本。只是我不希望这个文件出现在列表中
我可以只向此扩展添加例外吗? 或者有什么更好的主意吗?
if ($handle = opendir('manual')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "<a href='manual/$entry' target='_blank'>$entry</><br>";
}
}
closedir($handle);
}
如果您不希望 index.php 文件显示在此列表中,则只需使用 if
语句即可。
if ($handle = opendir('manual')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
if($entry!='index.php') // Go ahead only if the file is not index.php
echo "<a href='manual/$entry' target='_blank'>$entry</a><br>";
}
}
closedir($handle);
}
而且,如果要隐藏所有php文件,则可以使用preg_match
:
if ($handle = opendir('manual')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
if (!preg_match('/.php/', $entry)) // Go ahead only if the file is not having .php as it's extension
echo "<a href='manual/$entry' target='_blank'>$entry</a><br>";
}
}
closedir($handle);
}
你可以简单地使用一个标志变量来识别访问者的状态,如果没有变量,让他重定向。通常我们使用session全局变量来完成工作