Что лучше читать файлы из каталога с помощью 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();
}
}