功能的放置会带来未知问题

时间:2013-06-14 20:09:21

标签: php

我有这个函数创建一个目录输出数组。

public function getDirContents( $path )
{
     $dir = new RecursiveDirectoryIterator( $path, FilesystemIterator::SKIP_DOTS );

    // Flatten the recursive iterator, folders come before their files
    $it  = new RecursiveIteratorIterator( $dir, RecursiveIteratorIterator::SELF_FIRST );

    // Maximum depth is 1 level deeper than the base folder
    $it->setMaxDepth(1);

    $results = array();
    // Basic loop displaying different messages based on file or folder
    foreach ($it as $contents)
    {
        $fileInfo = array();
        if ( $contents->isFile() )
        {
            $fileInfo['dir'] = $it->getSubPath();
            $fileInfo['file'] = $contents->getFilename();
            $results[] = $fileInfo;
        }
    }


    return $results;
}

我在我创建的类中有这个,它按预期工作。我有一个较旧的脚本,我没有重写使用这个类。所以我把这个函数(减去公共)放在另一个包含随机常用函数的文件中,并将该文件包含在我的旧脚本中。但是,当我调用它时,我收到错误

PHP Fatal error:  Class 'FilesystemIterator' not found in /aaa/bbb/ccc/ddd/common.php on line 745

如果我删除FilesystemIterator :: SKIP_DOTS它工作正常,但我猜它失去了这个功能。我很好奇为什么会这样。

可能会或可能不会解释可能发生的事情的其他事情。

我成功使用它的类是主站点的一部分。 它错误的脚本实际上是一个子域。 我正在使用php 5.3(单个文件)      - 这是bluehost的配置选择一个版本的PHP,这就是我的设置方式。     PHP 5.3(单个php.ini)与PHP 5.3相同,但所有子目录都将使用〜/ public_html / php.ini

这就是为什么我的印象是我的子目录(子域)会使用该文件。

子域与主体中的httaccess不一样。

我不确定这些花絮是否会有所帮助,但我很失落,而且我对此很陌生。

任何帮助都将不胜感激。

0 个答案:

没有答案