我正在使用带有twig的Symfony2生成HTML,但是我生成的HTML不适用于Web浏览器,而是传递给将HTML转换为PDF文档的库。
我面临两个相关问题。
问题1.此PDF将包含图像,我不希望这些图像直接从互联网上可见(例如,我不希望这些图像显示在webroot下)。通常我将资产放在“site / src / path-to-bundle / Resources / public / assets”中,但我不希望这个图像在Web上可见。任何人都可以建议一个好的文件夹,把“资产”放在那里,不能通过网络访问。 (只是尝试与Symfony2命名技术保持一致,以及其他程序员通常如何做到这一点)
问题2.由于我生成的HTML用于HTML到PDF生成器,因此在文件系统上引用具有绝对路径的图像是最实际的(在这种情况下,Web路径或URL不适合)。 / p>
例如
<!-- This is the correct HTML code that is needed in this situation -->
<img src="/home/user/absoulte-file-system-path-to/image.png" />
<!-- These are actually incorrect in this situation -->
<img src="assets/image.png" />
<img src="http://www.somedomain.com/assets/image.png" />
我想知道如何获得上面提到的图像的绝对路径(我不介意这是在Twig模板中还是在控制器中完成)
答案 0 :(得分:8)
twig:
globals:
root_path: %kernel.root_dir%
您可以引用具有根项目的相对路径的资产
<img src="{{ root_path }}/../secret-folder/image.png" />