是否有可能在一個行遞歸運行require_once
這樣的:你可以在php中遞歸運行require_once嗎?
<?php
require_once('./OAuth2/*');
或者你會去直接每個文件和require
呢?
是否有可能在一個行遞歸運行require_once
這樣的:你可以在php中遞歸運行require_once嗎?
<?php
require_once('./OAuth2/*');
或者你會去直接每個文件和require
呢?
不能這樣做。像這樣的工作:
foreach (glob("./OAuth2/*.php") as $filename)
{
require_once($filename);
}
+1我一直都在使用它,它工作得很好。我通常這樣做 'foreach(glob(「classes/*。php」)as $ filename){ \t require_once($ filename); }' 與.php在那裏,以確保我不包括任何其他可能在目錄中的隨機文件(也許就像一個index.html文件) – 2013-04-22 16:48:50
遞歸所有的文件列表和require_once在一個目錄:
$files = array();
function require_once_dir($dir){
global $files;
$item = glob($dir);
foreach ($item as $filename) {
if(is_dir($filename)) {
require_once_dir($filename.'/'. "*");
}elseif(is_file($filename)){
$files[] = $filename;
}
}
}
$recursive_path = "path/to/dir";
require_once_dir($recursive_path. "/*");
for($f = 0; $f < count($files); $f++){
$file = $files[$f];
require_once($file);
}
你最好不要使用自動加載磁帶機 – 2013-04-22 16:45:23
您可以使用['水珠()'](HTTP ://php.net/glob)獲取與數組中的模式匹配的文件列表,在數組上包含「foreach」幷包含每個元素。但你應該考慮使用[自動加載器](http://php.net/spl-autoload-register)來代替... – DaveRandom 2013-04-22 16:45:29