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.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

Concurs de Grafica Digitala si Web Design

www.agora.ro

www.agora.ro