Inicio » Blog

Convertir cadenas de texto en imágenes con PHP28, Nov

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  a continuación le paso a imagenemail.php el valor de dominio y usuario que serían los dos datos necesarios para un email, puedes 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:

/*
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

Descargar: imagenemail

Comentarios

Opina con nosotros