PHP, 網頁設計

PHP教學-GravatarAPI填寫Email顯示大頭照

梅干 2011/02/09
梅問題-php教學-GravatarAPI填寫Email顯示大頭照
  使用Wordpress架設部落格平台,當有網友回應並填寫Email時,就會自動顯示大頭照,其最主要的原因就在於,Wordpress內建就已將Gravatar的服務給整合進去,所以一旦網友有去Gravatar註冊過,日後只要留言填寫Email後,除了會顯示留言名稱外,還會顯示留言者的大頭照,讓畫面看起來也較活潑些,但若不用Wordpress架設不就無緣囉!其實並不然Gravatar官方有提供相關的API,且完全不用申請任何的API Key,直接引入就可使用相當的方便喔!

放到<html>版頭最上方:
<?php 
/**
 * Get either a Gravatar URL or complete image tag for a specified email address.
 *
 * @param string $email The email address
 * @param string $s Size in pixels, defaults to 80px [ 1 - 512 ]
 * @param string $d Default imageset to use [ 404 | mm | identicon | monsterid | wavatar ]
 * @param string $r Maximum rating (inclusive) [ g | pg | r | x ]
 * @param boole $img True to return a complete IMG tag False for just the URL
 * @param array $atts Optional, additional key/value attributes to include in the IMG tag
 * @return String containing either just a URL or a complete image tag
 * @source http://gravatar.com/site/implement/images/php/
 */
function get_gravatar( $email, $s = 80, $d = 'mm', $r = 'g', $img = false, $atts = array() ) {
    $url = 'http://www.gravatar.com/avatar/';
    $url .= md5( strtolower( trim( $email ) ) );
    $url .= "?s=$s&d=$d&r=$r";
    if ( $img ) {
        $url = '<img src="' . $url . '"';
        foreach ( $atts as $key => $val )
            $url .= ' ' . $key . '="' . $val . '"';
        $url .= ' />';
    }
    return $url;
}
?>

<body>~</body>之間:
<img src="<?php echo get_gravatar('Email信箱'); ?>" alt="" />

語法解說:
get_gravatar('email信箱',顯示尺寸,'預設圖像','最大顯示尺寸');
一般只要填寫Email即可,後面是選填部分,可任意填寫。

  其實設定就是這麼的簡單,且也完全不用去申請任何的API Key,直接把上面的code引入,之後在img src的地方,將email載入就可直接使用囉!這樣就算自已開發留言板、討論版都可使用喔!就不用侷限在Wordpress中了。
[範例預覽] [範例下載]