如何从Gravatar返回URL或图像以供外部使用


How to return URL or image from Gravatar to be used externally?

我想在我发送的时事通讯中包含Gravatar的个人资料图片。我知道我不能只是用URL作为参数向Gravatar服务添加URL,而是需要先进行一些哈希处理。

我确实有一个启用PHP的网站,我可以用它将电子邮件"翻译"为MD5哈希,也许还可以返回完整的图像URL,以便在时事通讯中使用,但我不知道怎么做。

如果我这样做,那么我得到的只是网页上的URL:

$email = "someone@somewhere.com";
$default = "http://www.mywebsite.com/homestar.jpg";
$size = 40;
$grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size;
echo $grav_url;

我如何才能"返回"完整的URL,以便我在时事通讯中可以写这样的东西:

<img src="http://www.mywebsite.com/my-php-script.php?email=someemail@domain.com">`

(顺便说一句,我当然会在时事通讯中动态插入这样的电子邮件:

http://www.mywebsite.dk/my-php-script.php?=[DYNAMICFIELD_EMAIL]` )

也许是某种重定向?

或者,如果这不起作用,我可以让脚本返回实际图像吗?

您的代码需要返回实际图像,因为它用于imgsrc属性。你能有一个[DYNAMICFIELD_EMAIL_HASHED]-会让事情变得更容易。

否则,您可以查看fpassthru。有了它,你可以直接下载并输出gravatar图像,你的时事通讯代码就可以工作了。但我不确定这是否违反了Gravater的使用条款。此外,您还必须进行一些错误处理,可能是缓存、更改标头等。