从目录中读取文件名

use*_*766 1 html php

我想从没有任何数据库的目录中读取 html 文件名。我有一个代码并且它工作正常,但是它给出了两个空白名称,而我在目录中只有 4 个文件。

<?php
 if (is_dir('dir')) {
if ($dh = opendir('dir')) {
    while (($file = readdir($dh)) !== false) {
        echo "filename:".$file."<br />";
    }
}
}?>
Run Code Online (Sandbox Code Playgroud)

我有 4 个 html 文件,输出应该是:

filename:aaaaaa kjnnk_13.html
filename:aaaaaa kjnnk_2.html
filename:aaaaaa kjnnk_6.html
filename:aaaaaa kjnnk_9.html
Run Code Online (Sandbox Code Playgroud)

但我发现了 2 个额外的文件名:

filename:.
filename:..
filename:aaaaaa kjnnk_13.html
filename:aaaaaa kjnnk_2.html
filename:aaaaaa kjnnk_6.html
filename:aaaaaa kjnnk_9.html
Run Code Online (Sandbox Code Playgroud)

请帮忙

Ivo*_*o P 5

. 用于当前目录 .. 用于向上一个目录

使用 readdir 时,您将获得额外的 2 个。

我更喜欢使用 glob()。该功能也仅允许您过滤 html 文件

<?php
   $files = glob('dir/*html');
   foreach($files as $file) {
       echo "filename:".$file."<br />";
   }
?>
Run Code Online (Sandbox Code Playgroud)