额,因为微擎应用开发自己遇到的问题,要用到图片。
具体头像问题可以看header返回回来的 ErrNo的错误代码
所以通过获取header的信息来进行判断头像是否进行高清,过期的进行不了高清。
所以用get_headers($url)返回Response Headers的所有信息。然后再字符化,再然后定位‘ErrNo’进行判断是否存在字符串里。
function imageisval($url){
$a = get_headers($url);
$b = var_export($a,true);
if(strpos($b,'ErrNo')){
return false;
}else{
return true;
}
}
然输出前看看高清的图片是否有效,有效就直接输出,没效就直接变成132结尾的132X132格式的图片。
{php echo imageisval(str_ireplace('132','0 ',getavatar($_W['uniacid'], $user['openid']))) == true?str_ireplace('132','0 ',getavatar($_W['uniacid'], $user['openid'])):getavatar($_W['uniacid'], $user['openid']);}
具体贡献博客地址
http://www.imooc.com/article/253190微信用户头像清晰度由132X132清晰度变高清的地址
https://blog.csdn.net/skarp_/article/details/80424020发现Response Headers图片又没效的区别
https://blog.csdn.net/tstbdt/article/details/45532863发现直接获取Response Header所有数据的函数
以上三位大神,再次向你们鞠躬。