我怎么能包括在当前目录下的所有文件,但不包括文件本身
问题描述:
我写小功能包括在目录中的所有PHP文件我怎么能包括在当前目录下的所有文件,但不包括文件本身
foreach (glob("*.php") as $filename)
{
include $filename;
}
我怎么能包括在当前不包括目录文件本身的所有文件(其中,位于功能)?
答
以下内容应该有所帮助。你应该只得到当前的脚本文件名,并比较项目从数组:
$this_file = basename($_SERVER['SCRIPT_FILENAME']);
foreach (glob("*.php") as $filename)
{
if ($filename !== $this_file) {
include $filename;
}
}
更多细节:
答
foreach (glob("*.php") as $filename) {
if (realpath($filename) !== __FILE__) include $filename;
}
或者可能是
+0
我认为这是一个错误 - '$ filename'将例如。 “'main.php'”,但'__FILE__'可能是''/ main.php'“,然后比较失败。 – Tadeck
+0
你说得对。我认为,'glob()'的结果包含绝对路径,但事实并非如此。第二种解决方法是“不那么好”,但它应该起作用 – KingCrunch
值得一提:它没有说,目前的脚本是被调用的脚本 – KingCrunch