Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


IPRO - PC Magazine Romania, Martie 2004
SOLUȚII PENTRU PROGRAMATORII ȘI DESIGNERII WEB

Contor Flash cu script PHP

Oprean Traian

Există situri web care îndeplinesc funcția de contorizare oferind chiar mai multe informații privind vizitatorii sitului înscris și anume: numărul de vizitatori unici, situl destinatar de pe care s-a redirectat către pagină, sistemul de operare folosit, browserul, rezoluția, numărul de culori, IP-ul, țara. Aceste informații pot fi filtrate după zile/luni/căutari web/ etc. pentru a putea avea o mai bună perspectivă asupra canalizarii acestor vizitatori. Vă voi arata un mod simplu de a crea un astfel de contor (Live Counter) folosind Macromedia Flash și PHP. Mai întâi vom realiza aplicația Flash. Vom crea o casuță de text dinamica cu o variabilă numită Contor și vom implementa o comandă loadvariablesNum .

Pe primul cadru al aplicației vom introduce următoarea comandă:

loadVariablesNum ("Contor.php?ran="+random(99), 0);

care va încărca și rula fișierul Contor.php pe nivelul 0, deci cel curent al aplicației Flash. Se va incrementa variabila contor cu încă o unitate. Folosim și o variabilă ran inițializată cu un număr aleator ("random" în engleză) intre 0 și 99 pentru a rula un fișier PHP unic de fiecare dată. Dacă omiteți acest lucru, acest script PHP va fi încărcat din cache iar fișierul contor nu ar fi actualizat după cum ați dorit.

Pe cadrul doi vom introduce linia de cod :

loadVariablesNum("Contor.txt?ran="+
random(99), 0);

Această linie va încărca din fișierul text Contor.txt numărul de vizitatori ai paginii curente, număr actualizat în cadrul precedent. Vom lăsa în jur de 50 de cadre libere, numărul de cadre reprezentând perioada între recitirea contorului, iar apoi vom implementa o comandă de repoziționare de etichetă

gotoAndPlay(2); 

Dacă în această perioadă de 50 de cadre au mai existat și alți vizitatori, atunci a fost încărcată o alta instanță a aplicației Flash și a fost executată linia de cod din primul cadru care a rulat fișierul PHP, deci contorul a fost modificat și va fi reîncărcat din fișierul text. Acum vom trece la fișierul PHP Contor.php:

<?
$fis = "Contor.txt"; $fp = fopen( $fis,"r"); $ContorVechi = fread($fp, 100); fclose( $fp ); $ContorVechi = split ("=", $ContorVechi, 6); $ContorNou = $ContorVechi[1] + ´1´; $ContorNou = "Contor=$ContorNou"; $fp = fopen( $fis,"w+"); if (flock($fp, 2)) { fwrite($fp, $ContorNou, 100);} fclose( $fp ); print "Contor=$ContorNou"; ?>

Acest fișier va fi salvat în același director de unde se va rula aplicația Flash. Pentru a ințelege mai bine cum funcționează voi încerca să explic pe rând ce face fiecare linie de cod. Menționez faptul că această numerotare de linii nu va fi regăsită în fișierul PHP, aceasta fiindu-mi necesară doar pentru explicațiile de mai jos.

Linia 1 - Spune serverului să înceapă să proceseze un script PHP.
Linia 2 - Se inițializează variabila fis cu numele fișierului unde va fi stocat numărul de vizitatori. Amintesc că în PHP orice variabilă are ca sufix caracterul " $ ".
Linia 3 - Se deschide fișierul pentru citire.
Linia 4 - Această linie încarcă conținutul fișierului într-o variabilă denumită ContorVechi
Linia 5 - Închide fișierul text.
Linia 6 - Codul splitează linia citită în 2 parți, parți care vor fi stocate într-un șir unde $ContorVechi[0] va conține "Contor=" iar $ContorVechi[1] va indica numărul propriuzis.
Linia 7 - Incrementează contorul cu o unitate.
Linia 8 - Vom modifica stringul care va fi stocat în fișier, string ce va conține și șirul de caractere "Contor=" parte ce a fost înlăturată la linia 6.
Linia 9 - Se deschide fișierul pentru scriere.
Linia 10 - Aici folosim un argument opțional flock (file locking) pentru cazul în care se va suprascriere fișierul în acelaș timp. Sistemul va returna o eroare de scriere. Acest argument trebuie folosit dacă aveți mulți vizitatori care vă accesează pagina simultan.
Linia 11 - Rescrierea în fișier a valorii noi al contorului.
Linia 12 - Închide fișierul text.
Linia 13 - Linia printează valoarea contorului, valoare ce este preluată de aplicația Flash și afișată în casuța de text dinamica la rularea cadrului 2.
Linia 14 - Sfârșitul scriptului PHP.

Notă: Pe serverul de hosting fișierul Contor.txt va avea nevoie de drepturile 777 (read, write și execute la owner group și others). Puteți face acest lucru folosind comanda "chmod 777 Contor.txt".


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2004 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro