您好, 欢迎访问小ben成长手册, 现在是2019年08月26日

小ben成长手册 QQ:1329877829(请注明来自网站)  


  • 读者墙
  • 本站统计
  • 文章总数:365篇
  • 评论总数:906条
  • 分类总数:41个
  • 标签总数:338个
  • 友链总数:41个
  • 建站日期:2016-05-11
  • 将Gravatar头像缓存到本地
    作者: benen005 | 发布时间: 2016-07-06 00:11:05 | 点击量: 1031

       logo2.jpg

       网站评论引入了头像存 gravatar,经过一段时间的操作,发现国外的服务器头像载入速度太慢。

       于是准备写一个function将gravatar头像缓存到本地。

       贴上代码:


    /* Gravatar 图片缓存目录 */

    $file_gravatar = "upload_files/ava/";

    $cache_time_gravatar = 1296000; //15天



    //缓存头像

    function cacheGravatar($email, $s=24, $d='mm', $g='g'){

        global $file_gravatar, $cache_time_gravatar;

        $hash = md5($email); 

        $file = $file_gravatar . $hash. "_$s" . ".gif";

        $m = "http://cn.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; 

        if(file_exists($file)&&filemtime($file)>(time()-$cache_time_gravatar))  //如果头像存在且没有过期

            return $file;

        else{

            copy($m, $file);

            return $file;

        }

    }


    //调用Gravatar头像

    function getGravatar($email, $s=45, $d='mm', $g='g', $css='')   

    {

        $m = cacheGravatar($email, $s, $d, $g);

        $avatar = $m;

        return '<img m="'.$m.'" width="'.$s.'" height="'.$s.'" src="' . $avatar . '" class="rotate ' . $css . '" />'; 

    }


    新建一个文件夹0777,用于存放缓存头像,我的文件夹是 根目录: upload_files/ava/

    将这两个funciton写入functions.php,然后直接调用 getGravatar() 即可。

    是不是发现我的评论头像截入很快?对了,我的头像都在本地

    6.jpg



    2016-07-07 10:40:39
    G头像早被屏蔽了,一方面可以缓存到本地,另一方面可以使用多说的缓存服务器。
    2016-07-07 10:08:56
    @唯历史 多申请几次,就成功了
    2016-07-07 08:18:54
    我申请头像,一直就不成功
    2016-07-06 20:15:39
    这个对提高网站加载速度确实有很大作用
    2016-07-06 19:30:42
    有个头像还是很好的
    2016-07-06 19:20:00
    很不错的代码,可以加快网页速度~~哈哈
    2016-07-06 18:12:33
    很简洁的说
    2016-07-06 17:16:51
    Gravatar头像还是比较流行的哈。
    2016-07-06 12:55:01
    写的好简洁啊
    2016-07-06 11:33:57
    建议博主换个更拉风的主题。
    2016-07-06 09:24:02
    代码党

    名称(*)

    邮箱

    网址

    二十一加三等于几?

    (*)

    本站资源均来自网络,如有侵权请联系我们删除e-mail:benen005@sina.com