PHP递归迭代器:系统找不到指定的路径?
当我想用PHP递归迭代器:系统找不到指定的路径?,php,spl,php-5.4,spl-autoload-register,Php,Spl,Php 5.4,Spl Autoload Register,当我想用recursiveiterator和spl\u autoload\u register自动加载类时,出现了这个错误 包含消息的未捕获异常“UnexpectedValueException” 'RecursiveDirectoryIterator::\构造():系统找不到 指定的路径。(代码:3) 这是什么意思 下面是我的班级自动加载器 function autoload_multiple_directory($class_name){ // List all the class
recursiveiterator
和spl\u autoload\u register
自动加载类时,出现了这个错误
包含消息的未捕获异常“UnexpectedValueException”
'RecursiveDirectoryIterator::\构造():系统找不到
指定的路径。(代码:3)
这是什么意思
下面是我的班级自动加载器
function autoload_multiple_directory($class_name){
// List all the class directories in the array.
$array_directories = array(
'core/controller/',
'core/model/',
'core/helper/',
'core/ext/'
);
$parts = explode('\\', $class_name);
// Set the class file name.
$file_name = end($parts).'.php';
foreach($array_directories as $path_directory){
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path_directory),
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $fileObject) {
if ($fileObject->isDir()) {
$files[] = str_replace('\\', '/', $fileObject->getPathname()).'/';
}
}
}
$array_directories = array_merge($array_directories,$files);
// Loop the array.
foreach($array_directories as $path_directory){
if(file_exists(WEBSITE_DOCROOT.$path_directory.$file_name)){
include WEBSITE_DOCROOT.$path_directory.$file_name;
}
}
}
spl_autoload_register('autoload_multiple_directory');
错误行指向
new recursivedirectoryinterator($path\u directory),
为什么?我必须在new recursivedirectoryinterator(WEBSITE\u DOCROOT.$path\u directory)
中使用绝对路径,因为init.php有时是通过ajax调用的。因为路径错误!尝试var_dump($path_directory)并检查路径在物理上是否正常。