我基本上检索用户的gravatar图像并将其用于我的网站上的配置文件。如果用户没有gravatar帐户或电子邮件未分配到他们的gravatar帐户,则会显示一个默认图像,而不是gravatar。检查一个url是否用PHP返回一个图像?
我的问题是,如果例如gravatars网站出现故障,我无法检索用户的gravatar图像,反正有php我可以检查看gravatar是否返回图像,如果不显示一些文本或东西?
显然我可以做一个简单的if语句;但如果gravatar正在返回一个图像,则检查PHP是我不确定的。
如果我不能检查图像是否从Gravatar返回,检查链接是否在线(可访问)将罚款我猜。
UPDATE:
我忘了说我这是怎么检索的gravatar形象:
function get_gravatar($email, $s = 50, $r = 'pg')
{
$defaultimage='mm';
$url='http://www.gravatar.com/avatar/';
$url.=md5(strtolower(trim($email)));
$url.="?s=$s&d=$defaultimage&r=$r";
return $url;
}
然后显示我做的:
<a href="http://www.gravatar.com" target="_blank">
<img class="profileimgright profileimgframe" alt="Profile Image" src="<?php echo get_gravatar($_SESSION['email'], 180, 'pg') ?>" />
</a>
你如何检索的gravatar? – 2011-04-13 16:23:09
如何检索gravatar图标?你只是建立一个URL字符串? – 2011-04-13 16:25:23
没有信息的答案是设置一个超时,检查HTTP'Status'头,和/或检查返回的'Content-Type'头是'image/*'类型。我明显会使用[CURL](http://php.net/curl)以及 – 2011-04-13 16:27:50