PHP Image Requests
Implementing gravatars with PHP is quite simple. PHP provides strtolower()
, md5()
, and urlencode()
functions, allowing us to create the gravatar URL with ease. Assume the following data:
$email = "someone@somewhere.com"; $default = "https://www.somewhere.com/homestar.jpg"; $size = 40;
You can construct your gravatar url with the following php code:
$grav_url = "https://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size;
Once the gravatar URL is created, you can output it whenever you please:
<img src="<?php echo $grav_url; ?>" alt="" />
Example Implementation
This function will allow you to quickly and easily insert a Gravatar into a page using 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 - 2048 ] * @param string $d Default imageset to use [ 404 | mp | 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 https://gravatar.com/site/implement/images/php/ */ function get_gravatar( $email, $s = 80, $d = 'mp', $r = 'g', $img = false, $atts = array() ) { $url = 'https://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; }