14

私はPHPの初心者です。特定のフォルダ/ディレクトリからファイルを読みたいです。サブフォルダーやファイルを入れたくありません。ディレクトリ内の直接ファイルを一覧表示したいだけです。glob()、 、readdir()、 の3 つのソリューションに行き着きましたscandir()。次のようなファイルのリストを作成できます。

foreach (glob("*.*") as $filename) {
    echo $filename."<br />";
}

if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: .".$file."<br />";
        }
        closedir($dh);
    }
}

$files = scandir($dir);
foreach($files as $val){
  echo $val;
}

どちらがより高速で効率的ですか?

4

1 に答える 1

14

SPL の DirectoryIterator でしょうか。 http://php.net/manual/en/class.directoryiterator.php

foreach(new DirectoryIterator($dir_path) as $item) {
   if (!$item->isDot() && $item->isFile()) {
       echo $item->getFilename();
   }
}
于 2013-08-17T15:40:35.907 に答える