Php 如何在Symfony中访问Twig中的web文件夹?
我的包中有一个小树枝模板,我想访问Symfony应用程序中的web文件夹,在那里我想显示我的图片。web文件夹位于主目录中。指向我的图像的链接来自我的数据库:Php 如何在Symfony中访问Twig中的web文件夹?,php,symfony,twig,Php,Symfony,Twig,我的包中有一个小树枝模板,我想访问Symfony应用程序中的web文件夹,在那里我想显示我的图片。web文件夹位于主目录中。指向我的图像的链接来自我的数据库: uploads/documents/image1.jpg 在我的小树枝模板中,我必须定义两个变量: <img src="/{{ var.uploadDir }}{{ var.path }}" width="300px" height="150px"> 但是图像没有显示出来。它说找不到URL。是否可以在不使用“资产”的情
uploads/documents/image1.jpg
在我的小树枝模板中,我必须定义两个变量:
<img src="/{{ var.uploadDir }}{{ var.path }}" width="300px" height="150px">
但是图像没有显示出来。它说找不到URL。是否可以在不使用“资产”的情况下访问web路径?是否尝试通过
asset
函数传递变量
<img src="{{ asset(var.uploadDir ~ var.path) }}" width="300px" height="150px">
但理论上,这将产生相同的结果,因此您需要检查以下几点:
web/
文件夹设置为您的docrootweb/uploads/documents/image1.jpg
必须存在)var.uploadDir
和var.path
的串联是否实际生成有效路径。也许您忘记了代码中的某个地方,实际上每个变量中都没有尾随斜杠或前导斜杠。然后,var.uploadDir~var.path
可能会产生/uploadsdocuments/image1.jpg
,这显然是不正确的您是否尝试通过
asset
函数传递变量
<img src="{{ asset(var.uploadDir ~ var.path) }}" width="300px" height="150px">
但理论上,这将产生相同的结果,因此您需要检查以下几点:
web/
文件夹设置为您的docrootweb/uploads/documents/image1.jpg
必须存在)var.uploadDir
和var.path
的串联是否实际生成有效路径。也许您忘记了代码中的某个地方,实际上每个变量中都没有尾随斜杠或前导斜杠。然后,var.uploadDir~var.path
可能会产生/uploadsdocuments/image1.jpg
,这显然是不正确的使用资产(“uploads/documents/image1.jpg”)我想将其设置为变量,这样我的应用程序就不可能对图像使用固定名称我不确定我是否完全理解您想要的内容,但如果您只想处理变量,您可能希望将
uploads/documents/image1.jpg
放入参数文件,并将其调用到您的小树枝中。但我认为这不是一个好主意,因为你将如何处理手持图像我想显示的图像来自我的数据库。“uploads/documents/image1.jpg”只是完全来自我的数据库的示例。但是它没有显示在我的网站上,因为它说路径不正确!使用资产(“uploads/documents/image1.jpg”)我想将其设置为变量,这样我的应用程序就不可能对图像使用固定名称我不确定我是否完全理解您想要的内容,但如果您只想处理变量,您可能希望将uploads/documents/image1.jpg
放入参数文件,并将其调用到您的小树枝中。但我认为这不是一个好主意,因为你将如何处理手持图像我想显示的图像来自我的数据库。“uploads/documents/image1.jpg”只是完全来自我的数据库的示例。但是它没有显示在我的网站上,因为它说路径不正确!您的第一点非常好,我想很多人都没有意识到这一点——在Twig的asset()
函数中连接字符串的能力。Symfony的文档在这里总是有硬编码的值,而~
操作符本身没有被讨论。如果原始海报需要参考,这里有一个到细枝文档的链接来解释它:@JasonRoman是的,我强烈建议您彻底阅读细枝和条令文档-它们是Symfony不可或缺的一部分,了解它们的完整功能集非常重要。谢谢!我不知道我可以把变量放进一个资产函数中,并且只能用一个“~”来连接它。伟大的您的第一点非常好,我想很多人都没有意识到这一点——在Twig的asset()
函数中连接字符串的能力。Symfony的文档在这里总是有硬编码的值,而~
操作符本身没有被讨论。如果原始海报需要参考,这里有一个到细枝文档的链接来解释它:@JasonRoman是的,我强烈建议您彻底阅读细枝和条令文档-它们是Symfony不可或缺的一部分,了解它们的完整功能集非常重要。谢谢!我不知道我可以把变量放进一个资产函数中,并且只能用一个“~”来连接它。伟大的