Включение файлов из папки с циклом foreach - PullRequest
0 голосов
/ 07 января 2012

Я использую следующий простой код, чтобы включить все файлы из общей папки.

$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 ]

3 голосов
/ 07 января 2012
$files=glob($path['common'].$ds."*.php";
array_unshift($files,$path['common'].$ds."settings.php");
foreach ($files as $filename)
  require_once $filename;
2 голосов
/ 07 января 2012

Вы можете использовать причудливый обходной путь, чтобы «переместить» скрипт настроек вверх:

$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; }

Но это не так уж и короче.

...