【问题标题】:Symfony finder component does not work properlySymfony finder 组件无法正常工作
【发布时间】:2015-06-05 09:42:45
【问题描述】:

我尝试使用Finder 组件获取我的web 目录中的文件列表。 但是组件不能正常工作。

我试试这个:

$finder = new Finder();
$finder->files()->in('web/images/avatars');

但我有一个错误

"\"web/images/avatars\" 目录不存在。"

这很奇怪,因为我的 Console Component 命令中有类似的代码,而且效果很好

然后我尝试了那个代码

$finder = new Finder();
$finder->files()->in(__DIR__ . '/../../../../../web/images/avatars');

它的工作,但它返回一个空数组

我检查了该目录的读取权限,一切正常

如果这有用,我会尝试在我的User Provider 中执行此操作

【问题讨论】:

  • 你确定不只是相对路径的问题,你试过用绝对路径吗?
  • 这不是路径问题,我检查了这百万次。使用绝对路径是同一个故事

标签: php file symfony finder


【解决方案1】:

__DIR__ 指的是文件所在的目录 - 大概在 src/ 目录的深处,因此需要退出然后进入 web 目录本身。

如果命令在命令行中有效,但从网站运行时无效,则问题可能是文件权限之一 - 例如,在 Ubuntu 上的 Apache 下,文件以用户 www-data 运行,并且可能没有完全访问读取或写入文件(或者,重要的是,整个目录树,以便能够读取目录中的文件列表)。

【讨论】:

  • 我正在考虑,但正如我上面提到的,这个文件夹有完全的阅读权限
猜你喜欢
  • 2015-11-25
  • 1970-01-01
  • 2020-02-18
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-16
相关资源
最近更新 更多