【问题标题】:How to include all PHP files in directory?如何将所有 PHP 文件包含在目录中?
【发布时间】:2013-05-24 11:48:09
【问题描述】:

我有一个包含 php 文件的目录,这些文件每天都会自动更新。有时我会添加另一个(新)PHP 文件。

从目录中包含所有 php 文件的最佳方法是什么?

  1. 列出目录中的所有文件?
  2. 用文件名创建一些配置文件? (需要每次更新)
  3. 在主 php 中列出文件? (每次我添加新的 php 文件以包含时编辑主文件)
  4. 其他?

谢谢!

【问题讨论】:

  • 包含这样的文件可能非常危险。至少创建某种保护机制,只允许包含有效文件。

标签: php module include


【解决方案1】:

我总是这样做,你通常会将你的包含放在一个 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;
}

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

【讨论】:

    【解决方案2】:

    如果文件是类,你可以试试:

    function __autoload($class_name) 
    {
      require_once 'dir/' . $class_name . '.php';
    }
    

    Autoloading

    【讨论】:

      【解决方案3】:

      scandir()函数将返回一个包含目录中所有文件的数组:

      【讨论】:

        猜你喜欢
        • 2021-01-05
        • 2021-04-18
        • 2010-10-10
        • 2011-09-08
        • 2011-05-09
        • 2011-03-04
        • 1970-01-01
        • 2010-09-23
        相关资源
        最近更新 更多