PHP - Aplicatie simpla pentru contorizarea numarului de vizite

Post Title

In acest tutorial vom discuta despre crearea unei simple aplicatii pentru contorizarea numaruluie de vizite, vizitele nefiind unice.Am ales sa incep cu un sistem cat mai simplu astfel incat sa putem utiliza anumite functii foarte importante oferite de PHP.Numarul de vizite va fi salvat intr-un fisier text, totul fiind cat se poate de simplu.

Modul in care aceasta aplicatie functioneaza este foarte simplu:

1 Utlizatorul acceseaza adresa aplicatiei in navigatorul favorit.

2 Verificam daca fisierul counts.txt exista.

2.1 Daca exista, preluam continutul acestui fisier sub forma de string, adaugam +1 acestei valori si rescriem fisierul cu noua valoare.

2.2 Daca nu exista, cream acest fisier si ii adaugam valoarea 1.

3 Afisam numarul de vizite.

Dupa cum putem observa, aplicatia noastra este destul de simpla.Avem nevoie de trei functii foarte importante, functii oferite de PHP.

file_get_contents(filename);

Aceasta functie este folosita pentru a prelua continutul unui fisier, continut ce este returnat sub forma de string ( sir de caractere ).Ca parametru, aceasta functie are nevoie de locatia catre fisierul nostru.

file_put_contents(filename, data, flag)

Aceasta functie este folosita pentru a adauga/rescrie continutul unui fisier.Ca parametrii aceasta functie are nevoie de locatia catre fisierul nostru si de asemenea, noi putem modifica modul in care aceasta functie poate functiona, daca adauga continut, continutului existent din fisier sau daca rescrie fisierul in totalitate.Daca fisierul nu exista, aceasta functie il va crea automat.

file_exists(file);

Am mai discutat despre aceasta functie intr-un alt articol, rolul ei este de a verifica daca un anumit fisier exista sau nu exista, iar in functie de aceasta verificare sa returneze TRUE daca exista sau FALSE daca nu exista.Accepta ca parametru locatia si numele fisierului.

Pentru a pune in practica tot ceea ce am discutat, cream folderul tutorial iar in interoriul acestui folder adaugam fisierul index.php.Ca editor puteti sa folositi ceea ce va place voua, eu folosesc sublime text 3.

In fisierul index.php adaugam codul necesar acestei aplicatii, atentie, codul este scris in functie de modul in care noi am planificat aplicatia, cu alte cuvinte, in functie de ceea ce am scris mai sus.

index.php

 

  1.  
  2. <?php
  3. // ne asiguram ca PHP-ul afiseaza toate erorile
  4. ini_set('display_errors', 1);
  5.  
  6. $file = __DIR__ . '/counts.txt';
  7.  
  8. $count = 0;
  9.  
  10. if (file_exists($file)) {
  11. $count = file_get_contents($file);
  12. $count = $count + 1;
  13.  
  14. file_put_contents($file, $count);
  15. } else {
  16. $count = $count + 1;
  17.  
  18. file_put_contents($file, $count);
  19. }
  20.  
  21. echo 'Numarul de vizite este: ' . $count;

 

Dupa cum putem observa, totul functioneaza asa cum trebuie sa functioneze.

PHP - Simple hits counter.

PHP - Simple hits counter

 

Pentru mai multe informatii despre functiile folosite in acest tutorial puteti accesa urmatorele adrese:

http://php.net/manual/ro/function.file-get-contents.php

http://php.net/manual/ro/function.file-put-contents.php

http://php.net/manual/ro/function.file-exists.php

 

In acest tutorial am mai invatat un lucru, am invatat ca atunci cand efectuam o anumita operatie asupra unei valori, PHP converteste tipul de date al acestei valori, de exemplu:

 

  1.  
  2. <?php
  3.  
  4. $string = "1";
  5.  
  6. echo $string + 1;

 

Observam ca valoarea variabilei $string este un sir de caractere, si noi, efectuam o operatie de adunare asupra acestui sir de caractere, ei bine, PHP converteste automat tipul de date al acestei valori.Tipul de date string al acestei valori este convertit in integer, astfel incat sa putem efectua operatia dorita.Acest lucru se intampla atunci cand asupra unor valori se efectueaza o anumita operatie, de aceea spunem ca PHP este un limbaj loosely typed.

Atunci cand declaram o variabila si ii atribuim o valoare, nu suntem "obligati" sa declaram si un anumit tip de date pe care aceasta variabila il poate avea, asa cum se intampla in C++ sau alte limbaje, tipul de date al valorii atribuite variabilei se poate schimba in functie de operatiile efectuate asupra acestei variabile/valori.

 

Cam atat cu acest tutorial, sper ca va este de ajutor!

Apropo, este posibil sa gasiti erori in redactarea acestui tutorial, imi pare rau pentru acest inconvenient!!

Autor articol
To help a friend in need is easy, but to give him your time is not always opportune.

Comentarii

Comentariu adaugat de Catalin
Da, este doar un mic tutorial, ideea a fost si este sa prezint niste chestii teoretice, planific lucruri mai complexe insa trebuie sa ma gandesc la o abordare cat mai buna.Apropo, mersi Birkoff, mi-ai dat o idee pentru un nou articol.
go to page top Catalin | 2016-06-13
Comentariu adaugat de Birkoff
prin 2008 am scris si eu ceva similar, dar legat de contorizarea fisierelor la download, o puteti gasii la
http://www.tutorialeonline.net/ro/article/monitorizarea-contorizarea-fisierelor-la-download
go to page top Birkoff | 2016-06-13
Comentariu adaugat de marian
Din pacate in productie nu se poate folosi avand in vedere ca nu este un mod de a sti cand sa deconectat un user, de exemplu eu folosesc socket.io pe accest site pentru a sti in timp real cine este pe site. Exemplul de mai sus se poate adapta astfel incat sa stii ultimi x vizitatori din ultimele y minute, insa predevede adaugarea unui cookie si a datei la care un utilizator a facut ultimul request.
go to page top marian | 2016-06-13

Exista 3 comentarii   

  • 1
Trebuie sa fii logat sa poti lasa un comentariu Autentificare Inregistrare Logare cu Facebook
top