使用 NP-Gravatar 获取 Gravatar 上的头像
<无详细内容>
//Creating instance:
$gravatarService = new NP_Service_Gravatar_Profiles();
//Changing response format to XML:
$gravatarService->setResponseFormat(new NP_Service_Gravatar_Profiles_ResponseFormat_Xml());
//Getting profile data.
$profile = $gravatarService->getProfileInfo('foo@bar.com');
//$profile is instance of NP_Gravatar_Profile so we can access some of its properties.
echo 'ID: ' . $profile->id . '<br />';
echo 'Username: ' . $profile->getPreferredUsername() . '<br /><br />';
echo 'Photos: <br />';
foreach($profile->getPhotos() as $photo) {
echo '<img src="' . $photo->value . '" /> <br />';
}
//Changing response format to JSON:
$gravatarService->setResponseFormat(new NP_Service_Gravatar_Profiles_ResponseFormat_Json());
//Getting profile data but forcing raw Zend_Http_Response object to be returned,
//by passing boolean true for the second argument of the getProfileInfo() method:
$response = $gravatarService->getProfileInfo('foo@bar.com', true);
if ($response instanceof Zend_Http_Response) { //true!
//do something
}
//Changing response format to QR Code:
$gravatarService->setResponseFormat(new NP_Service_Gravatar_Profiles_ResponseFormat_QRCode());
//QR Code response can not be exported NP_Gravatar_Profile object, as that
//response format type does not implement
//NP_Service_Gravatar_Profiles_ResponseFormat_ParserInterface interface,
//so raw Zend_Http_Response object will allways be returned when using
//that response format:
$response = $gravatarService->getProfileInfo('foo@bar.com');
echo $response->getHeader('Content-type'); //Prints "image/png".
2. [代码]NP_Service_Gravatar_XmlRpc 跳至 [1] [2] [3] [全屏预览]
//Gravatar XML-RPC implementation requires API key for the
//authentication proccess. It can be retrieved on the page
//for editing profile, on wordpress.com.
$apiKey = 'someAPIKey';
$email = 'foo.bar@foobar.com'; //Email address associated with the $apiKey.
//Creating instance:
$gravatarXmlRpc = new NP_Service_Gravatar_XmlRpc($apiKey, $email);
//Checking whether there's a gravatar account registered with supplied email addresses.
$result = $gravatarXmlRpc->exists(array(
'posa.nikola@gmail.com', //That's me. :D
'foo@example.com'
));
$values = array_values($result);
echo (bool)$values[0]; //Prints "true", as I do have Gravatar account. :)
echo (bool)$values[1]; //Prints "false", as that second email address probably doesn't exist.
//Getting user images on the current account:
$images = $gravatarXmlRpc->userImages();
//$image is instance of NP_Service_Gravatar_XmlRpc_UserImage,
//as we didn't pass $raw parameter as "true" when executing
//userImages() method.
$image = $images[0];
$imageUrl = $image->getUrl(); //Instance of Zend_Uri_Http.
echo $image->getRating(); //Prints some rating (G, PG, R or X).
//Saves some image to be a user image for the current account.
$this->_gravatarXmlRpc->saveData('path/to/someImage.jpg', NP_Service_Gravatar_XmlRpc::PG_RATED);
3. [代码]NP_View_Helper_Gravatar 跳至 [1] [2] [3] [全屏预览]
//Generating Gravatar URL.
echo '<img src="' . $this->gravatar('foo@bar.com') . '" />;
//Generating Gravatar URL and specifying size and rating options.
echo '<img src="' . $this->gravatar('foo@bar.com', array('s'=>200, 'r'=>'pg')) . '" />;
//Full parameter names are supported, too.
echo '<img src="' . $this->gravatar('foo@bar.com', array('size'=>100, 'default'=>'identicon')) . '" />;
//Generating Gravatar URL and specifying file-type extension.
echo '<img src="' . $this->gravatar('foo@bar.com', array('s'=>200), 'jpg') . '" />;
//Above view helper call will produce this URL:
//http://www.gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8.jpg?s=200
- 上一篇:验证码
- 下一篇:一个简单的PHP的CURL类
精彩图集
精彩文章






