首页 > 解决方案 > scandir() 向 DirectoryIterator 返回不同的结果

问题描述

我有一个旧的 PHP 函数,用于DirectoryIterator循环目录中的文件。今天我重新加载了我们的 vagrant VM,重新运行了函数,发现它只返回“点”条目(...)。

在同一个目录上运行scandir()会返回完整的文件列表,所以我暂时重新编写了函数以使用 scandir。

DirectoryIterator版本已投入生产多年,始终指向同一个硬编码目录。我不知道为什么它现在不返回任何文件,只返回“点”条目。该DirectoryIterator版本可以在同事的机器上返回完整的文件列表。它似乎不是文件权限问题,因为scandir()在相同的代码上下文中正确运行。

我很难解释。有谁知道为什么会发生这种情况?

标签: phplinuxfilesystemsvirtualboxscandir

解决方案


推荐阅读