0

私は yii を初めて使用し、システム フォルダの外部にあるディレクトリ内のファイルのリストを取得する必要があります。私はそれを試しました

        $fileListOfDirectory = array();
        $pathTofileListDirectory = Yii::app()->request->baseUrl.'/path/to/files';
        foreach( new DirectoryIterator($pathTofileListDirectory) as $file) {
            if( $file->isFile() === TRUE && $file->getBasename() !== '.DS_Store' && substr(strrchr($file->getPathname(), '.'), 1) == 'txt') {
                array_push($fileListOfDirectory, $file->getBasename());
            }
        }

しかし、私は常にエラーが発生します

DirectoryIterator::__construct(/myYiiInstallation/system/path/to/files) [directoryiterator.--construct]: dir を開けませんでした: そのようなファイルやディレクトリはありません

ラインから

foreach( new DirectoryIterator($pathTofileListDirectory) as $file) {

ファイルのリストを取得する別の方法はありますか、それともどうすればよいですか? thnx!

4

2 に答える 2

2

ファイル システムで baseUrl を使用する代わりに、http: //www.yiiframework.com/doc/api/1.1/CApplication#basePath-detail を試す必要があると思います。

于 2012-05-02T16:59:13.550 に答える
1

これを使用できます....

$fileListOfDirectory = array ();
$pathTofileListDirectory = Yii::app()->request->baseUrl.'/path/to/files' ;

if(!is_dir($pathTofileListDirectory ))
{
    die(" Invalid Directory");
}

if(!is_readable($pathTofileListDirectory ))
{
    die("You don't have permission to read Directory");
}

foreach ( new DirectoryIterator ( $pathTofileListDirectory ) as $file ) {
    if ($file->isFile () === TRUE && $file->getBasename () !== '.DS_Store') {

        if ($file->getExtension () == "txt") {
            array_push ( $fileListOfDirectory, $file->getBasename () );
        }
    }
}
于 2012-05-02T16:47:57.260 に答える