Générer une image à partir d'un email

En fait j'ai plus ou moins réussi en faisant ainsi :

Dans un fichier image.php, j'ai ça :
Code:
<?php
$strAdresseEmail=$_GET['email'];
// Nouvelle image 100*30
$im = imagecreate(100, 30);

// Fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Ajout de la phrase en haut à gauche
imagestring($im, 5, 0, 0, $strAdresseEmail, $textcolor);

// Affichage de l'image
header("Content-type: image/jpeg");
imagejpeg($im);
?>

J'affiche la chose dans la page, ainsi :
Code:
<?php
echo '<img src="image.php?email='.$email.'" alt="image" >';
?>

Mais là j'ai deux problème : D'abords, pour le fond de l'image, je souhait du #FFFFCC.

Ensuite, la taille de l'image ne s'ajuste pas à la taille de l'email. S'il est trop long, il est coupé.
 
Meeuuuhhh a dit:
Code:
$bg = imagecolorallocate($im, 255, 255, 255);
Mais là j'ai deux problème : D'abords, pour le fond de l'image, je souhait du #FFFFCC.
Un petit peu d'héxadécimal donne FFFFCC = 255, 255, 204 (et pas 255 à la fin, pour le dernier paramètre de couleur!) car C = 12, donc CC = (12 x 16) + 12 = 204. :wink:

Pour la taille de l'image, ben... mets quelques pixels en plus au début de la création de l'image.
 
Oui mais je ne connais pas à l'avance la taille de l'email...

Pour l'hexadécimal, j'aurais besoin d'un tuto, vu qu'il me faut aussi du DFF6F2.
 
tu peux tout à fait compter le nombre de caractères qui composent l'email et à partir de celà déterminer automatiquement la taille de l'image qui sera générée, non ?
 
Ouais mais c'est va être assez approximatif quand même.

C'est idiot ce truc, pourquoi la taille du texte ne s'adapte-t'elle pas toute seule à l'image ?
 
Ah bah voilà, ça fonctionne impeccable avec le code trouvé sur le lien UsagiYojimbo. Une reco, une.

Il me reste plus qu'à obtenir une police noire ou bleue, avec un fond en #DFF6F2

Je vais voir si je trouve un tuto sur le net, mais si vous savez, ça m'arrange (j'ai pas tout compris à l'exemple d'anemone-clown).
 
Bonsoir ?

Pourquoi se donner tout ce mal à vouloir cacher une adresse mail et perdre du temps à créer une image alors que tu donnes quand même l'adresse aux spammeurs dans le code ?
Meeuuuhhh a dit:
<?php
echo '<img src="image.php?email='.$email.'" alt="image" >';
?>

8O

A+
 
Il faudrait au moins utiliser la fonction strrev() une fois dans l'appel du fichier qui génère l'image, et une fois dans le fichier avant de construire l'image de l'email.
Ca cache pas énormément l'email au spambots mais la plupart ne vont pas développer un script juste pour capter les emails de ton site, à part si il est très connu.

http://fr.php.net/strrev

Code:
<?php
echo '<img src="image.php?email='.strrev($email).'" alt="image" >';
?>
 
Oui c'est une idée, mais en fait je vais passer l'id en paramètre et puis j'irai chercher l'email correspondant dans la BD juste avant la création de l'image, comme ça l'adresse ne passera pas par l'URL.

Par curiosité, comment reconstruit-on l'email ensuite, avec cette fonction ?
 
Tout dépend combien de fois tu dois utiliser ce script de génération d'email graphique, mais si c'est beaucoup tu devrais peut etre mettre l'image en cache ou bien eviter de faire un appel a la base de donnée supplémentaire.
 
Le cache, voilà bien un truc auquel je ne me suis jamais intéressé jusqu'à maintenant... Comment fait-on pour "mettre une image en cache" LiFi ?
 
simplement dans ton script tu procèdes comme ça :

1. regarde l'email, est-ce qu'un fichier image existe déjà pour cet email ?
2. si oui alors renvoyer le fichier image, fin du script.
3. si non alors générer l'image, la stocker dans un fichier et le renvoyer, fin du script.

voila, apres a toi de determiner ou tu stockes tes fichiers images (dans un repertoire expres) avec quel nom afin de pouvoir le retrouver facilement.
 
Ah ouais j'ai pigé. "En cache", j'aurais dit "en dur" en fait, mais c'est pas le bon terme, comme quoi le vocabulaire est important.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut