如何从Symfony 2中的根目录文件夹加载图像?

时间:2016-11-24 06:28:27

标签: php symfony twig

我是Symfony的新手,我的问题很简单,我只是无法从某个目录加载图像并将其显示为树枝。我有这个上传文件夹位于我的Symfony项目的根目录中(在web文件夹之外)。此文件夹只是通过Linux文件系统链接到其他VM并具有原始上载文件夹。我尝试使用php&#39>来检查它是否存在

file_exists('/var/www/html/<projname>/upload/somefolder/image.png');

并且它显示图像存在,但是当我尝试在树枝中显示图像时,它始终显示未找到404错误且图像未显示。我已经这样做了:

<img src="/var/www/html/<projname>/upload/somefolder/image.png" />

<img src="/upload/somefolder/image.png" />

symfony如何处理这种情况?

2 个答案:

答案 0 :(得分:0)

如果您想获取根目录的路径,可以尝试下面的代码。 Here是文件上传的最佳示例。

$this->get('kernel')->getRootDir() . '/../web' . $this->getRequest()->getBasePath();

可能this也可以帮助你。

答案 1 :(得分:0)

我建议使用asset()(请参阅https://symfony.com/doc/current/templating.html#templating-assets),但这也要求您将文件夹放在项目 web / - 目录下,以便symfony可以访问它和网络服务器(合并)。

由于您使用的是Linux,因此很简单:

cd /var/www/html/<projname>/
ln -s upload web/upload

现在您可以简单地引用您的资产,例如:

{{ asset('upload/somefolder/image.png') }}