如何用php判断服务器本地是否存在指定文件?
我本来是在模板中庸onerror事件来处理图片找不到的解决方案,但是这样做会导致网站出现404错误,不利于收录,请问有没有一个函数用来在服务器端就判断图片是否存在(如果存...
我本来是在模板中庸onerror事件来处理图片找不到的解决方案,但是这样做会导致网站出现404错误,不利于收录,请问有没有一个函数用来在服务器端就判断图片是否存在(如果存在就显示,不存在就显示另一个默认的图片),我用file_exists函数行不通(存在它判断也是不存在)
if(file_exists("'.UC_API.'/data/avatar/'.$avatarfile.'")){
return '<img src="'.UC_API.'/data/avatar/'.$avatarfile.'" >';
}else{
return '<img src="'.UC_API.'/images/noavatar_'.$size.'.gif" >';
}
哪位高手能否告诉我这问题出在哪?或者另外告诉我一种解决方法.不胜感激!!
我的系统是linux,"'.UC_API.'/data/avatar/'.$avatarfile.'"虽然在服务器上但是不在同一域名 展开
if(file_exists("'.UC_API.'/data/avatar/'.$avatarfile.'")){
return '<img src="'.UC_API.'/data/avatar/'.$avatarfile.'" >';
}else{
return '<img src="'.UC_API.'/images/noavatar_'.$size.'.gif" >';
}
哪位高手能否告诉我这问题出在哪?或者另外告诉我一种解决方法.不胜感激!!
我的系统是linux,"'.UC_API.'/data/avatar/'.$avatarfile.'"虽然在服务器上但是不在同一域名 展开
2个回答
展开全部
file_exists好像是不能跨域
有一个不怎么好的办法,就是去访问它一下
方法 :
$url="文件地址";
$hander_array = get_headers ($url);
if($hander_array[0] == 'HTTP/1.1 200 OK') {
return '<img src="'.UC_API.'/data/avatar/'.$avatarfile.'" >';
}
else{
return '<img src="'.UC_API.'/images/noavatar_'.$size.'.gif" >';
}
有一个不怎么好的办法,就是去访问它一下
方法 :
$url="文件地址";
$hander_array = get_headers ($url);
if($hander_array[0] == 'HTTP/1.1 200 OK') {
return '<img src="'.UC_API.'/data/avatar/'.$avatarfile.'" >';
}
else{
return '<img src="'.UC_API.'/images/noavatar_'.$size.'.gif" >';
}
追问
这样如果没访问到的话还是会出现404错误,我是想不要让它出现404错误。还有别的方法吗?
追答
这个是在判断的时候,他不会抛出错误的啊.我也只有这个办法了.前两天我也遇到这个问题,情况和你差不多.我也只有用这个笨办法解决了
展开全部
fopen("$avatarfile" r) 通过远程读 判断是否能够读到这个文件 读不到就是假 读到就是真实存在例如: if (@fopen($film_litpic, 'r ')) {
$film_litpic = substr($poster,0,-4)."lit.jpg";
}else{
$film_litpic=$film_poster;
}
$film_litpic = substr($poster,0,-4)."lit.jpg";
}else{
$film_litpic=$film_poster;
}
追问
还是不行,是不是url中友变量的原因,完整的url是:http://www.hidiitest.com/ucenter/data/avatar/'.$avatarfile'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询