如何包含目录中的所有PHP文件?

3
我有一个包含PHP文件的目录,这些文件每天都会自动更新。有时我会添加另一个(新的)PHP文件。
最佳方式是什么,可以包括目录中的所有PHP文件?
  1. 列出目录中的所有文件?
  2. 创建一些配置文件包含文件名?(需要每次更新)
  3. 在主PHP文件中列出文件?(每次添加新的PHP文件以包含需要编辑主文件)
  4. 其他?
谢谢!

1
包含那样的文件非常危险。至少要创建某种保护机制,以允许只包含有效文件。 - user188654
3个回答

11

我通常会这样做,在你通常会放置 include 的地方使用 foreach :

foreach(glob('dir/*.php') as $file) {
     include_once $file;
}

那也许不是最好的方法,但将文件路径创建为列表或数组,然后将其放入foreach中始终是一个好主意,例如:

$includes = array(
   'path/to/file.php',
   'path/to/another/file.php'
);

foreach($includes as $file) {
     include_once $file;
}

那么每当您添加一个文件时,您可以将其添加到该列表中,并且它将被包括在内。


5
如果这些文件是类,你可以尝试以下操作:
function __autoload($class_name) 
{
  require_once 'dir/' . $class_name . '.php';
}

请查看自动加载相关文档。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接