我使用以下简单代码来包含公共文件夹中的所有文件。
$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";
则包括具有CCD_ 1循环的所有其余文件。
我想知道,是否可以先包含setting.php
文件,然后在foreach循环中包含所有其他文件,而不需要写上面的行?
$files=glob($path['common'].$ds."*.php";
array_unshift($files,$path['common'].$ds."settings.php");
foreach ($files as $filename)
require_once $filename;
您可以使用一个奇怪的解决方法来"移动"设置脚本:
$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; }
但这并没有缩短多少。