将电子邮件地址显示为图像

时间:2013-06-16 16:20:09

标签: php image gdlib

我正在尝试使用Php的gd库在我的页面上显示电子邮件作为图像,因此垃圾邮件发送者无法使用它们。问题是我所关注的教程使用了Content-type:image / jpeg的标题。这意味着我只能在此页面上显示图像。

如何使用GD库在Html / Php页面中显示图像?或者还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

更改页面标题时,将根据该标题呈现整个页面。在使用类似电子邮件的情况下,如果您想将其保持单页,您可以选择一些选项。

您的第一个选择是使用 base64编码

//create the image, $im
//omit the header settings

ob_start();
    imagejpeg($im);
    $data = ob_get_contents();
ob_end_clean();

echo '<img src="data:image/jpeg;base64,'.base64_encode($data).'">';

这里我们放置一个输出缓冲区来阻止任何事情进入客户端,并将其存储在我们的变量$data中。然后我们使用base64_encode对其进行编码,并以浏览器可以解释的方式输出到页面。

您还可以使用获取方法

if(isset($_GET['email'])) {
    header("Content-type: image/jpeg");

    //create the image, $im

    imagejpeg($im);
    imagedestroy($im);

    die;
}

echo '<img src="?email">';

真的,我们只是发送电子邮件输入并使用if语句进行处理。