Exemplu de lucru cu un fișier text în php

Exemplu de lucru cu un fișier text în PHP

Un exemplu de învățare mic ilustrează acțiunile de bază cu așa-numitele fișiere "plate" (adică text convențional). Chiar și fără conectarea la MySQL sau la un alt server de baze de date, PHP poate să scrie cu ușurință (și cel mai important, rapid) aplicații complete.







Lăsați exemplul nostru să susțină o "bază de date" cu text simplu, în care o singură linie a fișierului este o înregistrare. Înregistrarea va consta din 2 valori - un nume (adică un șir) și un număr separat de un spațiu. Scriptul ar trebui să verifice existența fișierului (și să creeze unul nou dacă este necesar), să nu permită adăugarea acelorași înregistrări, sortarea listei acceptate în ordine alfabetică, să poată afișa lista și formularul existent pentru a introduce o înregistrare nouă.

De obicei, acțiuni similare sunt necesare în aplicațiile reale.

În primul rând, definim numele fișierului pentru datele noastre, se presupune că dosarul este actual:

Poate că vom ieși din script în mai multe locuri (de exemplu, din cauza erorilor în accesarea fișierului), astfel încât să scriem imediat funcția myexit. "închiderea" documentului HTML și efectuarea unei ieșiri. Dar "intrarea" în script va fi exact una, așa că vom pune prima acțiune corespunzătoare a antetului corespunzător documentului HTML.







Să verificăm dacă fișierul există și este disponibil pentru scriere, dacă nu, vom încerca să creăm un fișier gol și să verificăm ce sa întâmplat. Dacă nu reușește, imprimați un mesaj de eroare și ieșiți cu codul de iesire 1.

Obținem conținutul fișierului, îl împărțim în linii separate folosind metoda explode (fiecare înregistrare va fi în elementul de matrice $ a), elementele matrice $ a. la rândul lor, vom împărți în spațiul de nume (după ce al doilea apel va exploda, acestea vor fi cuprinse în câmpurile $ [0]) și numerele (câmpurile $ [1]). Dar avem nevoie doar de nume până acum - pentru a forma o gamă de toate numele de $ fio. La urma urmei, vom verifica numele pentru a re-adăuga.

Verificăm și obținem 2 parametri externi - numele $ nume și numărul $ număr. Din numele, am scos pur și simplu etichetele cu funcția htmlspecialchars. iar numărul a fost convertit prin metoda intll. pentru a elimina caracterele nedorite.

Dacă ambele valori transferate sunt neimpachetate, vom încerca să le adăugăm în fișier - dar mai întâi verificăm că nu există un astfel de nume (array_search). Înainte de a adăuga, sortăm matricea de date cu sortarea funcției și o combinăm într-un șir cu funcția de implantare. Se separă din nou înregistrările separate prin traducerea liniei. Desigur, această abordare nu este de dorit pentru cantități mari de date, în acest caz este mai bine să se utilizeze baze de date.

Afișăm formularul pentru introducerea datelor noi, câmpurile sale, firește, se numesc nume și număr. dacă variabilele corespunzătoare au fost transferate, ele sunt afișate ca conținut inițial al câmpurilor. Desigur, ar fi bine dacă, în cazul în care câmpul de nume și asimetria numărului ar coincide, scriptul ar putea actualiza în continuare datele din fișier - încercați să "strângeți" codul corespunzător.

Rămâne la ieșirea datelor șirului $ și completarea scriptului. Dacă am avea nevoie de o imprimare partiționată, am scana matricea modificată $ a cu o buclă foreach.

Mai jos este o arhivă ZIP cu fișierul din acest exemplu. Se presupune că fișierul script este numit index.php. adică este "fișierul implicit" pentru dosarul său.







Articole similare

Trimiteți-le prietenilor: