上下文:
我目前正在从服务器检索图像以获取数字电子邮件签名。我做了一个php文件,当被调用时返回一个图像。如果某人通过XML在小部件中联机,则该图像会发生变化。我的img源代码转到我的php文件<img src="http://www.robin-widget.com/mailHandtekening/present-image.php" border="0"/>
。那个php文件显示了一个img,这个img随着XML条件的变化而变化。
我的问题:
在Gmail中,img src不能是php文件,它必须是像.png这样的img文件。即使我的.php文件在浏览器中工作,它也无法在gmail中工作,因为gmail会更改url,因此它必须是.png。
问题:
所以我的问题是.php文件可以是.png文件还是有其他方法可以做到这一点?
Php文件:
<?php
$url = "https://test.com/presence/GetPresenceXml?url=https://test.com/name";
$xml = simplexml_load_file($url);
$presence = $xml->status[0];
if ($presence == 'offline'){
$img = "https://www.robin-widget.com/mailHandtekening/images/cody.png";
} else {
$img = "https://www.robin-widget.com/mailHandtekening/images/cody_online.png";
}
$fp = fopen($img, 'rb');
// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($img));
// dump the picture and stop the script
fpassthru($fp);
exit;
?>
如果有人需要更多关于我的问题的信息,我绝对愿意回答。
更新: 我已经想出如何更新电子邮件客户端中的图片。我原来的问题是我想将.php文件更改为.png文件。我通过重定向随机.png文件我的.php脚本来更新图片。它工作但它没有在电子邮件客户端,谷歌仍然阻止它。 (出于安全原因,Google会将原始的im src链接更改为自己的链接)。我现在所做的是制作一个PHP脚本,将图片写入我的服务器。这个php脚本每隔一分钟就用cronjobs执行一次。 (请注意,在.htacces图像中,图像缓存必须关闭,因为只有图像自身更改而不是图像名称。)