Saltar al contenido
LINWIND de Windows a Linux

~/diseno-y-web

Convertir cadenas de texto en imágenes con PHP

Marcos · · 1 min

Hoy os traigo un script en PHP que puede resultar muy útil incluso para ocultar determinados contenidos como puede ser un email a las arañas, por poneros un ejemplo, todos sabemos que si ponemos un email en el código HTML a los pocos días recibiremos comenzaremos a recibir spam, si lo ponemos como una imagen conseguiremos medianamente evadirlo.

Para generar una imagen automática con PHP con el texto que a nosotros nos interese echaremos mano de imagecreate(), imagecolorallocate() e imagestring().

En el ejemplo que os pongo a continuación le paso a imagenemail.php el valor de dominio y usuario que serían los dos datos necesarios para un email, podéis substituir esto por cualquier otro texto y cambiando el valor de la variable $mail, el proceso para convertir el texto en imagen sería el siguiente:

/*
Prueba Linwind para convertir un email en una imagen
Ejemplo de uso:
imagenemail.php?dominio=dominio.com&usuario=usuario
*/ 
if( !isset($_GET['usuario']) || !isset($_GET['dominio']) ) 
// Comprobamos que tenemos todos los datos
die('El email es incorrecto.'); 
$email = $_GET['usuario'].'@'.$_GET['dominio']; 
//Guardamos el eMail en la variable eMail
$ancho = (strlen($email)*6)+1; 
//Calculamos el ancho de la imagen
$imagen = imagecreate($ancho, 14) 
or die('Cannot initialize new GD image stream'); 
$white = imagecolorallocate($imagen, 255, 255, 255); 
$black = imagecolorallocate($imagen, 0, 0, 0); 
// Creamos la imagen
imagestring($imagen, 2, 1, 0, $email, $black); 
//Escribimos el eMail en la imagen
header('Content-type: image/png');
//Cabecera
imagepng($imagen); 
//Imagen
imagedestroy($imagen);

Esto lo guardaríamos en un fichero imagenemail.php y lo llamaríamos de la siguiente forma imagenemail.php?usuario=usuario&dominio=dominio.com un ejemplo del resultado sería este:

Prueba de texto en imagen con PHP

Puedes descargar el código de generar imágenes con email desde el siguiente enlace: imagenemail.zip

# sigue leyendo

2 comentarios

Deja un comentario

Tu correo no se publica.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.