将电子邮件转换为图像?

时间:2014-08-28 02:15:54

标签: php

我想知道如何将网站用户的电子邮件转换为图片?

我有一个广告网站,我希望使用此工具保护用户的电子邮件。我看过许多提供此任务的网站,但我想在网站上为显示的每个用户电子邮件进行此操作。

任何线索?

我使用PHP来执行此操作:

if (isset($_GET['text'])) {
    // get string
    $text = $_GET['text'];
} else {
    // set default
    $text = 'liame';
};
// reverse string
$text = strrev($text);
$textLength = strlen($text);
$textHeight = 10;

// create image handle
$image = ImageCreate($textLength*($textHeight-1),20);

// set colours
$backgroundColour = ImageColorAllocate($image,255,255,255); // white
$textColour = ImageColorAllocate($image,0,0,0); // black

// set text
ImageString($image,$textHeight,0,0,$text,$textColour);

// set correct header  
header('Content-type: image/png');

// create image
ImagePNG($image);

然后

$email = $row['email'];

<img src="image.php?text=<?php echo $email; ?>" alt="Hidden Email" />

但它不起作用,图像显示为破碎。

1 个答案:

答案 0 :(得分:1)

这是&#34;直接来自DB&#34;溶液:

旁注: 我选择使用带有WHERE子句的两列,但您可以更改它。

按照你想要的方式去做,好吧......你问题下面的评论不言自明。

您可以在要显示的页面中iframe内设置它(此代码)。

旁注:
它不能 成为&#34;包含&#34;,因为它会使用图片的标题覆盖您网页的内容。

是的,我知道并且我知道会破坏目的,但您也可以从img src显示并链接到hrefmailto:&lt; = - 我只想概述您的(其他)选项,如果您希望将来使用它们。将其链接到人们可以填写的表单,将是一种更好的方式。

<a href="http://www.example.com"><img src="image_generator_file.php"></a>

根本就没有链接它:

<img src="image_generator_file.php" border="0">

旁注: WHERE id = 1可以更改为WHERE id = $user_id并填充并从数据库获取。如果它是VARCHAR并且提前预先定义变量,则需要将其包装在引号WHERE id = '$user_id'中。即:例如$user_id = $row['email'];

<强> PHP / SQL:

<?php 

include 'connection.php'; // Make sure connection is mysqli_ and not mysql_

$query = mysqli_query($conn,"SELECT id, email FROM your_table WHERE id = 1");

    while($row = mysqli_fetch_assoc($query)){

        $email = $row['email'];

    }


    $text = $email;

    // reverse string
    //$text = strrev($text);

    $textLength = strlen($text);
    $textHeight = 10;

    // create image handle
    $image = ImageCreate($textLength*($textHeight-1),20);

    // set colours
    $backgroundColour = ImageColorAllocate($image,255,255,255); // white
    $textColour = ImageColorAllocate($image,0,0,0); // black

    // set text
    ImageString($image,$textHeight,0,0,$text,$textColour);

    // set correct header  
     header('Content-type: image/png');

    // create image
    ImagePNG($image);

对于添加的样式,您可以为图像设置CSS类:

<img src="image_generator_file.php" class="pad">

CSS:

.pad {
padding-top:3px;
padding-bottom:2px;
padding-left:5px;
padding-right:5px;
background:#ffffff;
}