EMLOG可设置默认图片的的Gravatar调用代码
Gravatar是什么,这里就不多说了,不明白的可以百度搜索下有关于Gravatar的详细介绍;很多网站访客头像都使用的是Gravatar,通用的调用方法是无法自定义设置图片为头像的,如果访客留言时没有填写邮箱或者填写的邮箱没有设置Gravatar头像,那么调用出来的就是Gravatar设置的默认图片,想个性化访客头像的站长,看到这个会感觉很不爽,蓝叶也不例外也想个性化访客的头像,于是就到处寻找解决方法,发现Gravatar输出头像时是可以判断的,通过这个判断我们就可以自定义设置访客的头像了;
下面就是蓝叶写的EMLOG可设置默认图片的的Gravatar调用代码,把下面的代码复制到模版文件夹下的module.php文件里,在模版文件夹下新建个cache目录设置可写权限,在cache目录里在放一个默认头像图片命名为default.jpg,这样就可以当访客留言时没有填写邮箱或者填写的邮箱没有设置Gravatar头像时,显示站长设置的default.jpg这个图片。
下面就是蓝叶写的EMLOG可设置默认图片的的Gravatar调用代码,把下面的代码复制到模版文件夹下的module.php文件里,在模版文件夹下新建个cache目录设置可写权限,在cache目录里在放一个默认头像图片命名为default.jpg,这样就可以当访客留言时没有填写邮箱或者填写的邮箱没有设置Gravatar头像时,显示站长设置的default.jpg这个图片。
<?php function lanye_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 lanye_cacheavatar(邮箱地址,头像大小);?>
- 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《蓝叶》。
- 本文网址:https://lanye.org/web/gravatar.html
- 上篇文章:EMLOG获取文章图片附件缩略图代码
- 下篇文章:EMLOG蓝叶背景图插件