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