Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP递归迭代器:系统找不到指定的路径?_Php_Spl_Php 5.4_Spl Autoload Register - Fatal编程技术网

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)并检查路径在物理上是否正常。