fond page
Logo blog
Rech

Ico  ACCUEIL
Ico  A PROPOS DE L'AUTEUR
Ico  CONTACT
Ico 
JavaScript

Ico 
mooTools

Ico 
PHP

Ico  DERNIERS PARUS
Ico
Ico
Ico
Ico
Ico
Ico  DERNIERS COMMENTÉS
Ico  LES PLUS APPRÉCIÉS
Ico
Ico
Ico

Ico PHP

> Génération d'une bannière texte
Date  08/09/2010   Comms  Aucun commentaire   J'aime  16 visiteurs aiment  
Le code suivant permet la génération d'un fichier de type PNG à fond transparent contenant un texte blanc détouré de noir.Tout d'abord, on crée l'image en mémoire. Pour gérer la transparence, il faut utiliser la fonction imagecreatetruecolor() qui va gérer le canal alpha (transparence) : $imgtmp = imagecreatetruecolor(740, 50); imagecolortransparent($imgtmp, imagecolorallocate($imgtmp, 0, 0, 0)); imagealphablending($imgtmp, false); imagesavealpha($imgtmp, true);Ensuite on définit quelques variables qui seront utilisées dans les divers appels aux fonctions de création de graphique à partir de texte : $fontName = './fonts/OldTypefaces.ttf'; $fontSize = 30; $texte = 'Texte de la bannière';Ensuite, on génère à l'aide de la fonction imagettftext() l'ombrage de la police avec une couleur sombre, en faisant appel 4 fois à la fonction pour les 4 coordonnées qui nous intéresse, c'est à dire aux positions [x-1, y-1], [x 1, y-1], [x-1, y 1] et [x 1, y 1]. A noter que pour chaque appel on désactivera l'antialiasing en passant l'identifiant de couleur en négatif, sinon le fait de passer l'antialiasing plusieurs fois aura l'effet inverse et aura un rendu horrible au final. Voici le code : $couleur = imagecolorallocate($imgtmp, 64, 64, 64); imagettftext($imgtmp, $fontSize, 0, 21, 35, -$couleur, $fontName, $texte); imagettftext($imgtmp, $fontSize, 0, 23, 35, -$couleur, $fontName, $texte); imagettftext($imgtmp, $fontSize, 0, 22, 34, -$couleur, $fontName, $texte); imagettftext($imgtmp, $fontSize, 0, 22, 36, -$couleur, $fontName, $texte); Enfin, on génère le texte en blanc à la position [x, y], en laissant bien l'identifiant de la couleur en positif pour que l'antialiasing fasse son travail : $couleur = imagecolorallocate($imgtmp, 236, 236, 236); imagettftext($imgtmp, $fontSize, 0, 22, 35, $couleur, $fontName, $texte); Finalement, on enregistre le fichier PNG et on libère la mémoire : imagepng($imgtmp, "images/banniere.png"); imagedestroy($imgtmp);En espérant que cela puisse être utile, vu le temps que j'ai passé à essayer de faire fonctionner de manière correcte l'antialiasing !
> Maintenir une session PHP active via Request
Date  08/11/2010   Comms  Aucun commentaire   J'aime  15 visiteurs aiment  
Une astuce très simple et efficace pour maintenir une session PHP (session_start) via l'objet Request de mooTools (inclure la bibliothèque mootools) consiste à faire appel au programme PHP dans lequel le session_start() est effectué avec une variable post qui permettra de quitter juste après l'ouverture de session. Il ne reste donc plus qu'à appeler régulièrement le Request, durée en fonction de la durée de vie de la session.Voici le code Javascript :window.addEvent('domready', function() { // Request temporisée pour empecher la session d'expirer (function() { new Request({ url: 'page.php?keepalive=1', method: 'post' }).send(); }).periodical(600000);});Ensuite en entête du programme PHP on trouvera le code suivant :session_start();if ($keepalive) die("");De cette façon le session_start() sera appelé toutes les 600 secondes, empêchant la session d'expirer tant que l'utilisateur reste sur la page PHP.