PHP создать изображение для отображения адреса электронной почты?

Использование PHP: Как я могу создать изображение для отображения адреса электронной почты (чтобы уменьшить спам)?

Это означает, что если я хочу отобразить "joe@example.com" на своей веб-странице, поскольку сканеры могут легко найти этот текст - я хочу отобразить адрес электронной почты в виде изображения с надписью "joe@example.com".

Как я могу это сделать? Я хочу, чтобы шрифт был:

  • цвет: #20c
  • шрифт: 11px нормальная тахома

4 ответа

Простой поиск, который вы могли бы легко сделать....

Однако: (цвет, шрифт и строка не те, которые вы указали)

header("Content-type: image/png");
$im = @imagecreate(110, 20)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);

Соответствующие определения функций:

ht tp://pt2.php.net/imagecreate

php.net/imagestring

Используйте это:

  • заголовок, чтобы сказать браузеру ожидать изображение вместо HTML (PHP по умолчанию). Страницы документа функции изображения имеют больше информации об этом.
  • imagettfbbox, чтобы узнать необходимый размер изображения
  • imagecreatetruecolor, для создания ресурса изображения
  • imagecolorallocate, чтобы выделить цвет для текста
  • imagettftext, чтобы нарисовать текст (прочитайте пример, это почти все, что вам нужно)
  • imagepng, для вывода изображения в браузер

Если вы делаете это только для одного адреса, вы не должны делать это динамически каждый раз, когда страница загружается по соображениям производительности. Если это так, вы можете найти amny email obfuscator онлайн, такой как этот:

http://digitalcolony.com/lab/maskemail/maskemail.aspx

Вы должны использовать библиотеку обработки изображений GD.

Другие вопросы по тегам