我看到了几个相同的主题,例如Codeigniter "file_exists($filename)",http://ellislab.com/forums/viewthread/79524/#399857。,但对我没用。
在我的网址(dashboard/products/
)中,我从帮助程序中调用了一个函数,该函数如下:
if(!function_exists('getImage')){
function getImage($image){
$path = base_url() . 'public/images/';
if(file_exists($path . $image) === FALSE || $image == null){
return $path . "no_image.png";
}
return $path . $image;
}
}
然后在我的文件content.php
view
dashboard/products
中,我以这种方式使用该功能:
<img src="<?php echo getImage($row->picture); ?>" class="thumbnail-image"/>
这总是返回no_image.png
,问题是由base_url()
函数中的file_exists
引起的(根据我从其他类似主题中读到的内容)。
解决方案的主题如下:
1) - file_exists(dir_name(FCPATH)."/gallery/member_picture/member_no_image.gif")
2) - file_exists("./gallery/member_picture/member_no_image.gif")
我已经尝试了所有这些并且没有工作。就本案而言,我当前的网址为:http://localhost/myproject/dashboard/products
解决方案1)
if(file_exists(dirname(FCPATH) . "/public/images/" . $image) === FALSE || $image == null){
return $path . "no_image.png";
}
不起作用。如果我输出值,我收到以下内容:
return dirname(FCPATH) . "/public/images/" . $image;
//output to img src:
<img src="C:\xampp\htdocs/public/images/users/1/image_name.jpg" class="thumbnail-image">
另外,如果我在另一个标签页中打开src
链接,则网址会更改为:http:// localhost/myproject/dashboard/C:/xampp/htdocs/public/images/users/1/image_name.jpg
解决方案2)
再次,将其改编为我的代码:
return "./public/images/" . $image;
//output to img src:
<img src="./public/images/users/1/image_name.jpg" class="thumbnail-image">
在新标签页中打开src
的链接,网址将更改为:
http://localhost/myproject/dashboard/public/images/users/1/image_name.jpg
哪个错了。它应该是:
http://localhost/myproject/public/images/users/1/image_name.jpg
那么,那就是说,我想如何判断图像是否存在?
答案 0 :(得分:0)
<强>解决即可。
由于问题出在file_exists()
上,并且似乎函数进入了根目录,我所要做的就是改变一点算法。
function getImage($image){
if(file_exists('public/images/' . $image) == FALSE || $image == null){
return base_url() . './public/images/no_image.png';
}
return base_url() . './public/images/' . $image;
}