这种使用 PHP scandir() 函数的方式有什么问题?

What is wrong in this way of using PHP scandir() function?

我一直在编写一个简单的 PHP 脚本来读取目录中的所有文件并显示它们,但它显示未知文件,我在图像文件夹中的文件只有两张图像,但 scandir() 返回给我4 结果第一个是“.” (点)第二个是“..”(双点)。 这些结果来自哪里?

这是我的 PHP 功能:

$carpet_images=scandir('./images');

print_r($carpet_images);

这是结果:

Array
(
[0] => .
[1] => ..
[2] => 1562475195-1796949251.jpg
[3] => 5f931b6fdbbdc8bfbd164f4bb08334ec_zzz-1.jpg
)

.是当前目录,..是父目录。您可以像这样过滤掉那些:

$directories = scandir("./images");

$carpet_images = array_filter($directories, function($var) {
    return !in_array($var, ['.', '..']);
});