UNIX,Linux,Retele,Programare
Homespacer Tutorialespacer Forumspacer Utilizatorispacer Cautarespacer Webmailspacer Director web


O semnatura personalizata

Scris de Agkelos

Probabil ati vazut toti semnaturile alea dragute cu “Ai browserul X si IP-ul a.b.c.d”. Ca sa va puteti pune o semnatura de genul asta aveti 2 variante. Prima, intrati pe un site care ofera serviciul respectiv, completati un formular, primiti un URL si gata distractia. A doua varianta, “geek style”, e sa va faceti propria semnatura. Ca exemplu, dau semnatura asta: http://fun.hostvision.ro/OSHO.png

Cum se face ? Mult mai simplu decat va puteti imagina. PHP are functii de generare de imagini. Functiile respective combinate cu alte cateva + niste variabile si e gata semnatura. Ca sa nu o mai lungesc, va pun mai jos codul cu comentarii:

<?php
// variabila $IP va primi ca valoare adresa IP a vizitatorului
$ip = $_SERVER[’REMOTE_ADDR’];

// Se creaza o imagine pornind de la o imagine de baza
// de tip GIF
$img = @imagecreatefromgif(’oblivion.gif’);

// Setam culoarea pentru text
$txtColor = ImageColorAllocate($img,255,255,150);

// Afisam textul #ping -f IP_VIZITATOR (sau orice alt text)
ImageString($img,4,5,10,’#ping -f ‘.$ip,$txtColor);

// Modificam nuanta pentru afisarea textului si
// afisam un alt mesaj “(C)Copyright Operabilus”
$txtColor = ImageColorAllocate($img,240,255,100);
ImageString($img,1,390,55,’(C) Operabilus’,$txtColor);

// Imaginea e pregatita, mai trebuie sa “pregatim” browserul
// asa ca ii spunem in header sa astepte un fisier imagine
// de tip png (nu text/html cum e obisnuit)
Header(’Content-type: image/png’);

// Afisam imaginea
ImagePng($img);

// Iar apoi o distrugem… mai salvam din resursele serverului :D
ImageDestroy($img);
?>

De ce aveti nevoie pentru rularea scriptului e un server web care sa aiba suport de PHP intr-o versiune mai noua de 4.3, si PHP sa includa biblioteca GD2. Dupa cum v-ati dat seama, http://www.as.ro/ ar fi o varianta.

O alta varianta a codului ar fi cea in care nu se foloseste o imagine de baza (fundal) pentru imaginea nou creata. Diferenta fata de codul de sus, este functia de creare a imaginii. Aceasta va fi ImageCreateTrueColor(latime,inaltime); si, probabil, veti vrea sa puneti o culoare de fundal operatie executata de comanda ImageFill($img,0,0,$color) unde $color e rezultatul apelului unei functii ImageColorAllocate la fel ca mai sus.

Categoria: Web

 
© 2008 SkullBox, all rights reserved