我想在我发送的时事通讯中包含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]` )
也许是某种重定向?
或者,如果这不起作用,我可以让脚本返回实际图像吗?
您的代码需要返回实际图像,因为它用于img
的src
属性。你能有一个[DYNAMICFIELD_EMAIL_HASHED]
-会让事情变得更容易。
否则,您可以查看fpassthru
。有了它,你可以直接下载并输出gravatar图像,你的时事通讯代码就可以工作了。但我不确定这是否违反了Gravater的使用条款。此外,您还必须进行一些错误处理,可能是缓存、更改标头等。