Fisiere in PHP 0
PHP, ca orice alt limbaj modern de programare, ofera facilitati avansate in lucrul cu fisierele. Astfel, folosind cod PHP se pot crea, modifica, manipula si sterge fisiere.
Fisiere text si fisiere binare
Fisierele sunt colectii de informatii stocate pe un dispozitiv de stocare (hard-disk, CD, etc). In functie de formatul datelor continute fisierele se impart in doua categorii: fisiere text si fisiere binare.
Fisierele text sunt cele care contin text simplu ce poate fi citit, reprezentat si modificat de catre oricine si de catre orice secventa de cod. Spre exemplu, un fisier cu extensia .txt, creat cu un utilitar cum este Notepad, este cel mai definitoriu tip de fisier text. Un alt exemplu este un cod-sursa PHP salvat intr-un fisier. Desi codul sursa PHP are o anumita structura si poate fi interpretat intr-un anumit mod, el este la baza un fisier text, ce poate fi citit de oricine (orice om). De asemenea continutul sau poate fi modificat oricand, fie de un om, fie de un program.
Fisierele binare sunt acele fisiere ce contin secvente de text intr-un anumit format si cu o structura specifica inteleasa doar de un calculator (de o anumita secventa de cod). Un exemplu de fisier binar este o imagine (fisier cu extensia .jpg) sau o melodie (fisier cu extensia .mp3). Desi acestea pot fi vizualizate cu un editor de texte, ca Notepad, continutul lor nu poate fi modificat de oricine (cel putin nu fara a corupe fisierul). Fisierele binare sunt utile pentru ca pot contine orice tip de date, cu orice structura se doreste. Avantajul este ca prin intermediul fisierelor binare si pot crea formate proprietare, care permit modificarea continutului fisierelor doar de anumite programe. Spre exemplu, fisiere PDF pot fi create/vizualizate doar cu anumite aplicatii, la fel si documentele Word, s.a.
PHP ofera suport pentru ambele tipuri de fisiere: text si binare. Atat timp cat se cunoaste structura fisierelor binare (ce tipuri de informatii contin) acestea pot fi modificate din PHP. Cu toate acestea, in cele ce urmeaza ne vom concentra asupra fisierelor text intrucat sunt cel mai des intalnite si mai usor de folosit.
Folosirea fisierelor in PHP
In orice limbaj de programare, si deci si in PHP, cand se lucreaza cu fisiere trebuie efectuate urmatoarele operatiuni:
- deschiderea fisierului
- citirea din fisier/scrierea in fisier
- inchiderea fisierului
Necesitatea fiecarei operatiuni este probabil usor de inteles. Un fisier trebuie deschis pentru a putea vedea ce este in el - chiar si pentru o secventa de cod aceasta este o necesitate. Scrierea/citirea propriu-zisa reprezinta operatia pentru care fisierul a fost deschis, prin care sunt preluate sau adaugate informatii in fisier. La finalul folosirii fisierului acesta trebuie sa fie inchis, altfel este posibil ca informatiile continute sa se piarda.
Instructiunile PHP corespunzatoare operatiilor de mai sus sunt prezentate in cele ce urmeaza. De remarcat este faptul ca trebuie specificat inca de la deschiderea fisierului ce fel de operatii vor avea loc: citire, scriere sau ambele.
Asa cum s-a observat, un mod de deschidere pentru citire ('r') si 2 moduri de deschidere pentru scriere: cu stergere a continutului vechi (modul 'w') si cu pastrare a continutului (modul 'a'), caz in care scrierea se face la sfarsitul fisierului, imediat dupa continutul vechi. Depinde de specificul fiecarei situatii ce mod de scriere trebuie ales.
Limbajul PHP dispune si de alte moduri de deschidere a fisierului, care sunt mici variatii ale celor prezentate mai sus. Intrucat sunt folosite doar in anumite situatii nu vor fi prezentate aici. Pentru detalii puteti consulta pagina de documentatie a functiei fopen.
Instructiunile de mai sus pot fi folosite cu orice tip de fisier, text sau binar si reprezinta baza in lucrul cu fisierele. Exista o suita de alte functii pentru citirea sau scrierea anumitor tipuri de date specifice, ce pot fi folosite cu ambele tipuri de fisiere. In practica insa, de cele mai multe ori se lucreaza cu instructiuni "utilitare" de manipulare a fisierelor text - instructiuni care simplifica efortul programatorului in special in situatii generale. Aceste functii sunt descrise in cele ce urmeaza.
Instructiuni pentru fisiere text
Pentru simplificarea codului de citire/scriere a unui fisier in situatii generale, PHP ofera cateva functii foarte convenabile: file_get_contents, file_put_contents si file. Primele doua, dupa cum si numele spune, permit preluarea intregului continut al unui fisier si punerea lui intr-o variabila string, printr-un singur apel, respectiv crearea unui fisier care sa contina valoarea unei variabile (exemple mai jos). Cea de-a treia functie permite crearea unui vector ce are ca elemente liniile fisierului specificat. De exemplu, un fisier cu 3 linii va genera un vector cu 3 elemente, fiecare element reprezentant o linie din fisier.
Este important de mentinut ca odata citit continutul fisierului (cu file_get_contents si file) variabilele se "deconecteaza" de fisier, adica orice modificare facuta asupra variabilei nu se reflecta si asupra fisierului, cele 2 entitati fiind separate.
Manipularea fisierelor in PHP 0
Pe langa functiile pentru preluarea/modificarea continutului fisierelor, PHP ofera si facilitati de gestionare a fisierelor: creare, mutare, copiere, modificare atribute, etc. Cateva din acestea sunt prezentate mai jos.
Directoare in PHP 0
Manipularea directoarelor (folderelor) folosind PHP se face la fel de usor ca in cazul fisierelor. Majoritatea functiilor folosite pentru fisiere se pot aplica si la foldere (de exemplu copy, rename, is_file, etc), dar exista o serie de alte instructiuni specifice dosarelor.
Limbajul PHP dispune de o serie de functii ce permit citire continutului unui folder intr-un mod similar cu preluarea continutului unui fisier. Astfel, exista functii pentru deschiderea unui director (opendir), citirea continutului, adica a fisierelor sau folderelor existente in acel director (readdir) si inchiderea lui (closedir). O situatie in care aceste functii pot fi folosite este aceea cand se doreste afisarea unei liste a elementelor continute intr-un folder si se doreste efectuarea unor calcule sau procesari pe baza fiecaruia dintre aceste elemente.
";
}
}
closedir($handle); // inchei citirea din folder
}
?>
Nimic de afisat.
Adauga un comentariu la aceasta sectiune.