包含foreach循环文件夹中的文件

时间:2012-01-07 02:58:50

标签: php foreach include require

我使用以下简单代码来包含common文件夹中的所有文件。

$path=array();
$ds=DIRECTORY_SEPARATOR;
$path['root']=$_SERVER['DOCUMENT_ROOT'];
$path['common']=$path['root'].$ds."common".$ds;

//Include settings
require $path['common'].$ds."settings.php";

//including common php files
foreach (glob($path['common'].$ds."*.php") as $filename) {
    if($filename!="settings.php")
    require $path['common'].$ds.$filename;
}

如您所见,起初我使用

require $path['common'].$ds."settings.php";

然后包含foreach循环的所有其余文件。

我想知道,如果可以首先包含setting.php文件,那么所有其他文件都在foreach循环中,而不在上面写行?

2 个答案:

答案 0 :(得分:3)

$files=glob($path['common'].$ds."*.php";
array_unshift($files,$path['common'].$ds."settings.php");
foreach ($files as $filename)
  require_once $filename;

答案 1 :(得分:2)

您可以使用古怪的解决方法来“移动”设置脚本:

$settings = array("$path[common]/settings.php");
$includes = glob("$path[common]/*.php");
$includes = array_merge($settings, array_diff($includes, $settings));

// load them all
foreach ($includes as $i) { include $i; }

但实际上并没有那么短。