PHP 列出异常文件

PHP list file with exception

我制作了一个 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这个全局变量来完成工作