Cum să aflați de câte ori fișierul dvs. a fost descărcat, php

De unde știu de câte ori am descărcat fișierul?

Din momentul în care site-ul dvs. este creat, prima dorință evidentă este de a afla cât de populară este. Există diferite posibilități care pot rezolva această problemă. De obicei, serverul care vă găzduiește oferă statistici foarte slabe. Aceste statistici includ numai numărul de accesări ale site-ului și cantitatea de informații transmise. Dar veți fi de acord că acest lucru nu este suficient. Există o mulțime de fișiere pe site și aș dori să am o idee despre ceea ce este descărcat acolo.







Este foarte important să înțelegeți exact cum funcționează contorul și apoi să începeți să scrieți codul.

Primul pas este de a determina structura sa: de la ce fișiere va consta și cum va interacționa totul. Pentru claritate, vreau să dau următoarea figură.

Avem un site web www.site.ru. Să presupunem că pe acest site trebuie să numărați de câte ori sunt descărcate anumite cărți. Referințele la cărți sunt în book.php. Pentru comoditate, vom crea un director separat un Contoare, care va fi foarte contra (counter.php) și documente de tip text, în care vor fi stocate datele, de câte ori au descărcat cartea corespunzătoare (book1.txt și book2.txt). Întrebați, de ce nu utilizați o bază de date pentru a stoca numărul de descărcări? Desigur, book.txt poate înlocui această bază, dar ai nevoie de un software special. În plus, fișierele text sunt mult mai ușor de utilizat decât o bază de date. Și mă bazez pe articolul meu în primul rând pe începători. Fără îndoială, pe un site mare, utilizarea unei baze de date este o necesitate. Fără ea nu există nici o cale de a face. Doar numărul de fișiere text pentru a ajunge la un astfel de număr mare, care se ocupe de ele va fi practic imposibil. Dar acesta este subiectul unui alt articol.

Ca urmare, ca rezultat, atunci când vom deschide fișierul book.php, ar trebui să vedem ceva de genul:

Acum, să încercăm să descriem cum funcționează acest ciclu în general. Mai întâi este încărcată pagina cu linkul nostru și inscripția "Numărul de descărcări: 25". Pentru a lua numărul 25, trebuie să accesați fișierul în care este stocat (book.txt). Odată ce utilizatorul face clic pe link-ul, începe programul (counter.php), care incrementează variabila la 1 și scrie-l într-un fișier text. Și de fiecare dată.

După cum puteți vedea teoretic, totul este foarte simplu. Dar problemele principale apar în practică.

Deci, hai să trecem la partea tehnică a întrebării. Vom începe direct de la contor (counter.php). Aici este codul care trebuie introdus în el.

Cum, dificil? Să înțelegem împreună.

Mai întâi, să definim designul codului. După cum știți, pentru a utiliza PHP, trebuie să creați următoarea structură:







Astfel, dăm programului să înțeleagă că folosim PHP.

Din moment ce se descarcă mai multe fișiere, designul este folosit pentru a determina ce legătură a făcut clic pe utilizator:

și așa mai departe. Astfel, selecția este efectuată utilizând variabila $ book. Singura modalitate de a vă asigura că atunci când faceți clic pe un link specific, atribuiți variabila corespunzătoare?

Când doriți să mergeți la un anumit site, trebuie să tastați adresa URL a acestuia.

Dar, de fapt, adresa URL poate avea o viziune mai lungă. Ați văzut această intrare:

Acești parametri pot fi variabile.

Prin specificarea variabilelor, acestea vor fi transmise fișierului care se deschide. În cazul în care trebuie să declarați mai multe variabile simultan, acest lucru se face prin semnul "".

Astfel, atunci când un utilizator deschide o anumită pagină, variabilele sunt atribuite automat, ceea ce este foarte convenabil. Această metodă de transmitere a variabilelor unui script este numită metoda GET.

Acum, întregul design poate merge acum la codul contorului propriu-zis.

După cum sa menționat mai sus, pentru a stoca variabila numărului de descărcări, este utilizat un fișier text. De fapt, întreaga problemă a contorului este să-l deschidă și de a afla ce valoare acum la ghiseu, pentru a crește această valoare la 1 și închideți fișierul. Asta e tot!

În PHP, pentru a lucra cu fișiere text, este necesar să urmați pașii următori:

2) Extrageți datele din fișier și, dacă este necesar, schimbați-le

O funcție specială pentru deschiderea unui fișier este: $ variable = fopen ("nume fișier", "mod");

Când deschideți un fișier, trebuie să specificați un mod care vă va permite să efectuați anumite acțiuni asupra fișierului după ce îl deschideți. Modurile care pot fi setate sunt enumerate în următorul tabel:

regim
Ce se întâmplă dacă există fișierul
Ce se întâmplă dacă fișierul nu există

r
Numai citire
Va apărea un mesaj de avertizare

r +
Citirea și scrierea
Va apărea un mesaj de avertizare

w
Înregistrați numai
Va fi creat un nou fișier. Dacă fișierul există, fișierul nou va fi suprascris

w +
Citirea și scrierea
Va fi creat un nou fișier. Dacă fișierul există, fișierul nou va fi suprascris

o
Adăugarea de date la sfârșitul fișierului
Va fi creat un nou fișier.

a +
Citirea și adăugarea datelor la sfârșitul fișierului
Va fi creat un nou fișier.

Astfel, deschidem fișierul book.txt pentru citirea și modificarea valorii acestuia. Se creează un fișier variabil special $, în care va fi stocat fișierul deschis.

- flock (fișier $, LOCK_EX); Element foarte important. Blochează accesul la fișier, în timp ce scriptul rulează. Imaginați-vă că doi oameni au dat clic pe link. Din moment ce scriptul deschide fișierul pentru scriere, acesta se poate prăbuși și contorul va fi resetat.

- $ count = fread (fișier $, 100); Apoi citiți informațiile din fișierul deschis fișier $ și alocați-i un număr variabil $.

- $ count ++; - măriți valoarea cu 1. Această intrare este echivalentă cu următoarea ($ count = $ count + 1).

- ftruncate (fișier $, 0); - utilizând această comandă, conținutul fișierului (book.txt) este șters. Și acum puteți înregistra gratuit informații noi acolo. În acest moment poate apărea un accident atunci când două scripturi rulează simultan. Am vorbit despre asta mai sus. Dar nu avem de ce să ne temem, fișierul este blocat.

- fwrite ($ file, $ count); Scrieți noua valoare a contorului.

- flock (fișier $, LOCK_UN); Acum puteți debloca fișierul și

Când totul este scris, nu uitați să setați atributele (permisiunile) la fișierele text (txt). Puteți face acest lucru printr-un client FTP. Schimbați atributele fișierului la 666 (rw-rw-rw).

Ei bine, asta e tot. Am încercat să vă explic cât mai mult posibil și pur și simplu pentru dvs. procesul de instalare a contorului de descărcări. Cu toate acestea, dacă nu obțineți ceva, scrieți-mi și vom încerca să rezolvăm problema împreună.

Cu sinceritate, Chengaev Dmitry







Articole similare

Trimiteți-le prietenilor: