使用 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类
精彩图集
精彩文章