php如何获取文件夹中没有扩展名的文件数组

时间:2012-12-31 20:18:59

标签: php arrays file directory scandir

我有一个“path / to / folder”。 获取没有文件名的文件数组的最佳方法是什么?

我可以使用$files = scandir("path/to/folder/", 1); 但后来我必须删除扩展名和“。”从那个数组。 有没有更好的方法来获取文件数组?

刚添加: P.S.我需要“path / to / folder”中的文件,而不包含该文件夹中的子文件夹。 因此,如果该文件夹中的文件是"ab.php, cd.php, 123.php, hello.php"

然后结果是:$files =array('ab', 'cd', '123', 'hello');

2 个答案:

答案 0 :(得分:1)

$files = glob('path/to/files/*.*');
foreach($files as $file) {
    $file = pathinfo($file);
    echo $file['filename'];
}

或者,使用速度更快的DirectoryIterator类。

答案 1 :(得分:1)

您可以尝试延长FilesystemIterator所需的全部内容:

echo new NoExtentionIterator(__DIR__);

使用的课程

class NoExtentionIterator extends FilesystemIterator {
    public function current() {
        return pathinfo(parent::current(), PATHINFO_FILENAME);
    }
    public function accept() {
        return parent::current()->isfile();
    }
    public function __toString() {
        return implode("\n", iterator_to_array($this));
    }
}