.Php文件到img文件(.png)

时间:2017-11-29 12:10:08

标签: php image

上下文:

我目前正在从服务器检索图像以获取数字电子邮件签名。我做了一个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图像中,图像缓存必须关闭,因为只有图像自身更改而不是图像名称。)

0 个答案:

没有答案