DirectoryIterator игнорирует каталоги в бродячих синхронизированных папках - PullRequest
0 голосов
/ 01 августа 2020

Я использую бродячий ящик laravel / homestead. когда я пытаюсь использовать DirectoryIterator для синхронизированной папки, он возвращает только записи «точки» (.., .).

моя бродячая синхронизированная папка называется code (в vmbox), внутри В этом каталоге у меня есть бродячие файлы и коды проектов, поэтому, когда я использую DirectoryIterator для /home/vagrant, он без проблем перечисляет все директории, включая каталог code. но когда я использую его для /home/vagrant/code, отображаются только записи с точками, другие каталоги игнорируются. scandir() работает нормально и перечисляет все каталоги без проблем.

Редактировать: вот код и результаты:

foreach (new DirectoryIterator('/home/vagrant') as $fileInfo) {
    echo $fileInfo->getFilename() . "<br>\n";
}
outputs:
.
..
.ssh
.sudo_as_admin_successful
.composer
.local
code
.config
.bash_aliases
.wget-hsts
.npm
foreach (new DirectoryIterator('/home/vagrant/code') as $fileInfo) {
    echo $fileInfo->getFilename() . "<br>\n";
}
outputs:
.
..
foreach (scandir('/home/vagrant/code') as $fileInfo) {
    echo $fileInfo. "<br>\n";
}
outputs:
.
..
.vagrant
Homestead.yaml
LICENSE.txt
Vagrantfile
after.sh
aliases
bin
composer.json
composer.lock
homestead
project
readme.md
scripts
src
...