使用 PHP 获取目录中所有文件的名称

2022-08-30 07:37:03

出于某种原因,我一直得到一个“1”的文件名与这个代码:

if (is_dir($log_directory))
{
    if ($handle = opendir($log_directory))
    {
        while($file = readdir($handle) !== FALSE)
        {
            $results_array[] = $file;
        }
        closedir($handle);
    }
}

当我回显$results_array中的每个元素时,我得到一堆'1',而不是文件的名称。如何获取文件的名称?


答案 1

不要打扰打开/阅读,而是使用glob

foreach(glob($log_directory.'/*.*') as $file) {
    ...
}

答案 2

声压级风格:

foreach (new DirectoryIterator(__DIR__) as $file) {
  if ($file->isFile()) {
      print $file->getFilename() . "\n";
  }
}

检查 DirectoryIteratorSplFileInfo 类,以获取可以使用的可用方法的列表。


推荐