我正在使用Yii 1.1.15并尝试使用简单的file_exists()
php函数。但我无法让它发挥作用。
当我返回图片网址时,图片会显示。但是当我使用file_exists()
时,它会返回$img2
在我的模型中的功能
public function brandPageImage($make = false) {
$urlstr = Yii::app()->request->baseUrl.'/images/brand-pages/make/';
$img = $urlstr.trim(strtolower($make)).'-976x365.jpg';
$img2 = $urlstr.'default-976x365.jpg';
clearstatcache();
if (file_exists($img)) return $img;
return $img2;
}
如果我直接返回$img
就行了!
public function brandPageImage($make = false) {
$urlstr = Yii::app()->request->baseUrl.'/images/brand-pages/make/';
return $img = $urlstr.trim(strtolower($make)).'-976x365.jpg';
}
这是它生成的网址
/dev/frontend/www/images/brand-pages/make/lol-976x365.jpg
答案 0 :(得分:1)
你应该使用getPathOfAlias而不是baseUrl,因为Yii :: app() - > request-> baseUrl返回基本URL,而不是文档根路径。
if (file_exists(YiiBase::getPathOfAlias('webroot').'images/brand-pages/make/
lol-976x365.jpg'))
{
// do what you want to do
}
答案 1 :(得分:0)
尝试使用,因为它需要路径而不是图像所在的网址
public function brandPageImage($make = false) {
$urlstr = dirname(Yii::app()->request->scriptFile).'/images/brand-pages/make/';
$img = $urlstr.trim(strtolower($make)).'-976x365.jpg';
$img2 = $urlstr.'default-976x365.jpg';
clearstatcache();
if (file_exists($img)) return $img;
return $img2;
}