如何从Symfony 2中的root Directory文件夹中加载图像



我是Symfony的新手,我的问题很简单,我只是无法从某个目录中加载图像并将其显示为Twig。我将此上传文件夹位于我的Symfony Project(Web文件夹之外)的根目录中。该文件夹只是通过Linux文件系统指向其他VM的链接,并且具有原始上传文件夹。我尝试使用PHP的

检查它是否存在
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如何处理这种情况?

如果要获取根目录的路径,则可以尝试以下代码。这是提供文件上传的最佳示例。

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

可能也可以帮助您。

我建议使用 asset()(请参阅https://symfony.com/doc/current/templating.html#templating-assets),但这也需要您将文件夹放在项目下 web/ -Directory,因此可以通过Symfony and Weberver(组合)访问它。

由于您正在使用Linux,因此很简单:

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

现在您可以简单地提及:

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

相关内容

最新更新