我使用Silex-Skeleton。模板目录(templates / layout.html)中存在Twig布局。我将图像存储在web / img目录(top.jpg)中。我还使用内置的php5.4服务器运行:
php -S localhost:8000 web/index_dev.php
在templates / layout.html中,我想使用web / img / top.jpg图片。所以我放在那里:
<img src="{{ app.request.basepath }}/img/top.jpg">
但图片没有显示。
我也试过了:
<img src="/img/top.jpg">
<img src="/web/img/top.jpg">
但也没有成功。
我的控制器看起来像(index.html扩展layout.html):
$app->get('/', function () use ($app) {
return $app['twig']->render('index.html', array());
})->bind('homepage');
如何让图像生效?
答案 0 :(得分:0)
您可以直接导航到http://localhost:8000/web/img/top.jpg
或http://localhost:8000/img/top.jpg
吗?如果您无法直接浏览和查看它们,则无法呈现它们,因为浏览器也无法在页面上显示它们。
您的图片实际位于 / web 文件夹中还是之下? (即它们不应位于 / templates 文件夹中)
也许你可以尝试在启动PHP webserver时设置docroot明确地唱出-t选项。
否则我建议建立像Apache这样的真实Web服务器。如果您运行OS X或* nix,则您的操作系统可能已安装此操作系统。