Что лучше читать файлы из каталога с помощью PHP-glob() или scandir () или readdir ()? [закрытый]

Я новичок в PHP. Я хотел бы прочитать файлы из определенной папки / каталога. Я не хочу, чтобы в них были вложенные папки или файлы. Я просто хочу перечислить прямые файлы внутри каталога. Я закончил с 3 решениями,glob() , readdir() и 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;
}

что быстрее и эффективнее?

1 ответов


может быть, DirectoryIterator из SPL? http://php.net/manual/en/class.directoryiterator.php

foreach(new DirectoryIterator($dir_path) as $item) {
   if (!$item->isDot() && $item->isFile()) {
       echo $item->getFilename();
   }
}