我感动我的网站所有的公众形象到一个文件夹出的symfony的Web文件夹中,因此它可以与其他Web应用程序共享获取图像文件夹URI。 我创建了一个符号链接到这个文件夹,所以它可以从symfony应用程序的web文件夹访问。从控制器和树枝模板
ln -s /absolute/path/to/images /path/to/symfony/application_01/web/images
ln -s /absolute/path/to/images /path/to/symfony/application_02/web/images
等...适用于所有应用。
我正在寻找一种方法,它允许我在远程Web服务器的生产环境中的本地主机以及上的我的开发环境中检索图像URI。
我希望能够从控制器的树枝模板和中检索此URI。
基本上(我application_01为例):
在开发环境它将返回:
http://localhost/images/my_image.jpg
在生产环境,它将返回:
http://www.application_01.com/images/my_image.jpg
我的问题是,我发现许多不同的方式来获取URI bu t我不完全清楚Symfony如何管理它们,以及在所有情况下使用什么函数来实现全局解决方案。
什么是实现我目标的最佳方式是什么?
编辑
具体来说,我发现了一些SO答案,建议使用下列功能相当类似的问题:
$请求 - > getScheme(); $ request-> getHttpHost();
这似乎对应值或超全局$ _ SERVER [“REQUEST_SCHEME”]和$ _ SERVER [“HTTP_HOST”]
而且我不知道这是否是得到,因为这此信息的正确方法链接到服务器接收到的当前请求。
是不是有另一种方式从当前服务器处理请求独立得到这个信息?
完善,这个工程。我只是测试它。只需要一分钟即可了解第二行。这实际上是一个放入路由配置文件的定义。谢谢你的帮助。这并不困难,但我无法亲自指点解决方案。 – Nitseg
我不能发布另一个问题,因为这个问题太近了,但我有一个问题。由于图像路径包含从图像名称本身推导出的子文件夹(a12f23.jpg存储在/ 01/2f /子文件夹中)Symfony不接受我的'图像'参数。它不接受图像名称中的特殊“/”字符(/01/2f/012f23.jpg)。任何线索如何让Symfony接受这种图片名称嵌入子文件夹? – Nitseg
@Nitseg http://symfony.com/doc/current/cookbook/routing/slash_in_parameter.html 谷歌是你的朋友;) – Moein