У меня есть старая функция PHP, которая использует DirectoryIterator
для перебора файлов в каталоге. Сегодня я перезагрузил нашу бродячую виртуальную машину, повторно запустил функцию и обнаружил, что она возвращает только «точечные» записи (.
и ..
).
Запуск scandir()
в том же каталоге возвращает полный список файлов, поэтому я временно переписал функцию, чтобы использовать вместо нее scandir.
Версия DirectoryIterator
существует уже много лет и всегда указывает на один и тот же жестко закодированный каталог. Я не могу понять, почему теперь он не возвращает файлы, а только «точечные» записи. Версия DirectoryIterator
отлично возвращает полный список файлов на машине коллеги. Похоже, это не проблема с правами доступа к файлам, поскольку scandir()
работает правильно в том же контексте кода.
Я в тупике для объяснения. Кто-нибудь знает, почему это может произойти?