0

「パス/フォルダーへのパス」があります。ファイル名なしでファイルの配列を取得する最良の方法は何ですか?

使用できます$files = scandir("path/to/folder/", 1); が、拡張子と「。」を削除する必要があります。その配列から。ファイルの配列を取得するより良い方法はありますか?

追加したばかり: PS そのフォルダーにサブフォルダーなしで「パス/フォルダーへのパス」にファイルが必要です。したがって、そのフォルダー内のファイル"ab.php, cd.php, 123.php, hello.php"

結果は次のとおりです。$files =array('ab', 'cd', '123', 'hello');

4

2 に答える 2

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

または、 (はるかに)高速なDirectoryIteratorクラスを使用します。

于 2012-12-31T20:23:30.350 に答える
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));
    }
}
于 2012-12-31T20:26:53.300 に答える