crm*_*cco 3 php filesystems symfony php-5.6
我正在使用 SF2 Finder 组件访问目录并获取其中的子目录。
这是我的代码:
$finder = new Finder();
$dirs = $finder->directories()->in($this->getParameter('crmpicco.image_upload_path'));
Run Code Online (Sandbox Code Playgroud)
在image_upload_path包含3个目录:/small,/medium和/large
当我转储返回的dirs属性时,Finder我得到:
-dirs: array:1 [?
0 => "/var/www/crmpicco/20150805093500/app/files/import_images"
]
Run Code Online (Sandbox Code Playgroud)
如何修改此调用以访问/small,/medium和/large?
我建议使用通配符,但经过一些测试,结果似乎是有或没有通配符的。
随着getIterator()我能列出一个目录下的所有儿童。在我的文件系统上有一个/var/www/包含html目录。
$finder = new \Symfony\Component\Finder\Finder();
$dirs = $finder->directories()->in('/var/www')->depth('< 1');
foreach($dirs->getIterator() as $iterator) {
print_r($iterator);
}
Run Code Online (Sandbox Code Playgroud)
此代码返回:
Symfony\Component\Finder\SplFileInfo Object
(
[relativePath:Symfony\Component\Finder\SplFileInfo:private] =>
[relativePathname:Symfony\Component\Finder\SplFileInfo:private] => html
[pathName:SplFileInfo:private] => /var/www/html
[fileName:SplFileInfo:private] => html
)
Run Code Online (Sandbox Code Playgroud)
所以我认为问题是由于您使用私有属性Finder而不是调用getIterator():
当我转储返回的
dirs属性时,Finder我得到:
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |