我正在使用Yii框架。这是我的目录结构:
folder
images
yii-framework
mysite
index.php
protected
assets
.
'
'
“folder
”是webroot
。我的子域a.subdomain.com
指向mysite
。问题是我想使用“mysite”中“image”文件夹中的图像。
以下代码适用于localhost,但不适用于网络服务器:
echo "<img src='".Yii::app()->request->baseUrl."/../images/image1.png' height='500' width='500'>";
答案 0 :(得分:2)
实际上,只要你有正确的设置,Yii就会相对简单。如果您的网站webroots在同一文件系统上运行,您可以使用其真实的文件系统路径预先发布它们,Yii会通过一个公开的URL来为他们提供服务,并将它们复制到网站资产文件夹中。
$url = Yii::app()->assetManager->publish('/path/to/webroot/images/imageIWant.jpg')
echo "<img src='".Yii::app()->assetManager->baseUrl.'/'.$url."' height='500' width='500'>";
那应该为你做,请确保在它更改的前提下也会添加assetManager的baseURL。
编辑: 如果您确定了这条路线,这值得一读,实际上整个维基值得一读:p
答案 1 :(得分:2)
您只能使用:
<img src="/images/image1.png"/>
这应该有效。无需提供绝对URL。
答案 2 :(得分:1)
根据定义,这不是Yii也不是没有。没有命令可以使浏览器在Web根目录之外获取图像。
您必须构建一个脚本,为您加载图像并传递它。然而,这是一种非常低效的服务图像的方式。将图像移动到Web根目录可能要好得多。