EMLOG可设置默认图片的Gravatar调用代码

Gravatar是什么,这里就不多说了,不明白的可以百度搜索下有关于Gravatar的详细介绍;

很多网站访客头像都使用的是Gravatar,通用的调用方法是无法自定义设置图片为头像的,如果访客留言时没有填写邮箱或者填写的邮箱没有设置Gravatar头像,那么调用出来的就是Gravatar设置的默认图片,想个性化访客头像的站长,看到这个会感觉很不爽。

我也想个性化访客的头像,于是就到处寻找解决方法,发现Gravatar输出头像时是可以判断的,通过这个判断我们就可以自定义设置访客的头像了;

下面就是EMLOG可设置默认图片的的Gravatar调用代码

<?php
function xingkong_httpcode($url){
$ch = curl_init();
$timeout = 3;
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch,CURLOPT_URL,$url);
curl_exec($ch);
return $httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
}
function lanye_getavatar($email, $s = 40, $d = 'monsterid', $g = 'g') {
$hash = md5($email);
$avatar = "http://cn.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";
return $avatar;
}
function lanye_cacheavatar($mail,$size){
$hash = md5(strtolower($mail));
$error_url = 'http://cn.gravatar.com/avatar/'.$hash.'?d=404';
$cache_path = TEMPLATE_PATH.'cache';
if(!file_exists($cache_path)){mkdir($cache_path,0700);}
$avatar_http_url = TEMPLATE_URL.'cache/'.$hash.'.jpg';
$avatar_path_url = $cache_path."/".$hash.'.jpg';
$cache_time = 24*3600*30;
if(!file_exists($avatar_path_url) || (time()-filemtime($avatar_path_url)) > $cache_time){
if(lanye_httpcode($error_url)==200){$newavatar = lanye_getavatar($mail,$size);copy($newavatar,$avatar_path_url);}
else{copy($cache_path.'/default.jpg',$avatar_path_url);}
}
return $avatar_http_url;
}?>
调用例子:
<?php echo xingkong_httpcode(邮箱地址,头像大小);?>

方法:

把上面的代码复制到模版文件夹下的module.php文件里,在模版文件夹下新建个cache目录设置可写权限,在cache目录里在放一个默认头像图片命名为default.jpg,这样就可以当访客留言时没有填写邮箱或者填写的邮箱没有设置Gravatar头像时,显示站长设置的default.jpg这个图片。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索