PHP furnizeaza o varietate de functii pentru citirea fisierelor. Una dintre acestea este fread(), care are urmatoarea forma:
fread(identificator_fisier, lungime)
Argumentul 'identificator_fisier' este valoarea returnata de functia fopen(), iar argumentul 'lungime' specifica numarul maxim de octeti care vor fi cititi. Octetii cititi din fisier sunt returnati sub forma de valoare de tip sir. Daca operatia de citire întâlneste sfârsitul fisierului, PHP va returna mai putin de lungime octeti data.
Iata un exemplu de citire si de afisare a unui text dintr-un fisier, folosind functia fopen() (Fisierul "carte.txt" folosit ca test in exemplele de mai jos trebuie sa se afle in acelasi director in care este si scriptul php):
PHP include o functie conexa, denumita fgetc(), care citeste un octet din fisierul specificat.
Pentru a citi si a afisa întregul continut al fisierului, puteti folosi functia filesize() pentru a furniza valoarea argumentului lungime, astfel:
Se obisnuieste frecvent citirea linie cu linie a unui text dintr-un fisier.
Functia fgets() citeste o linie dintr-un fisier; functia are urmatoarea forma:
fgets(identificator_fisier, lungime)
- Argumentul 'identificator_fisier' este o valoare returnata de functia fopen(); aici, argumentul 'lungime' specifica numarul maxim de octeti dintr-o linie care vor fi cititi, minus o unitate, pentru a permite includerea caracterului de terminare a liniei (acesta poate fi omis si va citi toata linia). Octetii cititi din fisier sunt returnati ca valoare de tip sir.
Iata un exemplu care prezinta modul de citire si de afisare a primilor 125 octeti din prima linii a unui fisier :
În general, dintr-un fisier trebuie citit mai mult decât prima linie a acestuia. Pentru aceasta, un script trebuie sa dispuna de o modalitate de a determina momentul când fisierul a fost citit în totalitate.
Functia feof() are chiar acest scop, returnând o valoare care arata daca s-a ajuns sau nu la sfârsitul fisierului. Functia are urmatoarea forma:
feof(identificator_fisier)
Argumentul 'identificator_fisier' este valoarea returnata de functia fopen().
Functia feof() returneaza TRUE daca fisierul specificat este la sfârsit; în caz contrar, returneaza FALSE.
Iata cum se poate folosi functia feof() pentru a controla procesul de citire a unui întreg fisier, linie cu linie:
Aceasta metoda nu este adecvata pentru fisiere de foarte mari dimensiuni, deoarece în tablou este încarcat întregul continut al fisierului, ceea ce poate necesita o cantitate de memorie superioara celei disponibile.
PHP furnizeaza doua functii care faciliteaza afisarea continutului unui fisier.
- Una dintre functii, fpassthru(), necesita un argument care specifica identificatorul fisierului care urmeaza sa fie afisat:
Fiecare fisier are un pointer asociat care indica pozitia octetului unde se va produce urmatoarea operatie.
Puteti folosi functia rewind() pentru a readuce pointerul la începutul fisierului. Functia are urmatoarea forma ('identificator_fisier' este identificatorul de fisier returnat de functia fopen()):
rewind(identificator_fisier)
Nu puteti readuce pointerul unui fisier la începutul propriu-zis al unui fisier daca fisierul a fost deschis pentru un acces de tip atasare, adica într-unul din modurile 'a' sau 'a+'.
Iata un exemplu care prezinta modul de utilizare a functiei rewind() pentru a afisa de doua ori continutul unui fisier:
Pentru a scrie intr-un fisier se foloseste functia fwrite(), aceasta are urmatoarea forma:
fwrite(identificator_fisier, date);
- Unde 'identificator_fisier' este identificatorul de fisier returnat de functia fopen(), iar 'date' este o valoare sir care determina datele care urmeaza a fi scrise.
Daca executia functiei reuseste, returneaza numarul octetilor scrisi; în caz contrar, returneaza valoarea —l.
Iata un exemplu care prezinta modul de scriere a datelor într-un fisier:
Argumentul "lungime" al functiei fwrite() trebuie utilizat atunci când se scrie în fisiere binare sub Microsoft Windows.
Windows prefera secventa de terminare a liniei "\r\n". Atunci când scrieti programe PHP pentru sisteme Windows, este de preferat sa folositi secventa "\r\n" de terminare a liniei.
- PHP dispune de o alta functie pentru scrierea fisierelor, fputs(). Totusi, în afara de nume, fputs() este similara cu functia fwrite().
<ul> <li>http://coursesweb.net/html/</li> <li>http://www.marplo.net/html/</li> </ul>
.some_class { display: list-item; }
var obj = { "courses": ["php", "javascript", "ajax"] }; var jsonstr = JSON.stringify(obj); alert(jsonstr); // {"courses":["php","javascript","ajax"]}
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>'; $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); $elm = $dochtml->getElementById("dv1"); echo $elm->nodeValue; // CoursesWeb.net
I`m living here. - Traiesc /Locuiesc aici.
Estoy viviendo aquí. - Traiesc /Locuiesc aici.