+ All Categories
Home > Documents > Lucrul cu fisiere php

Lucrul cu fisiere php

Date post: 29-Nov-2014
Category:
Upload: colegiul-de-industrie-usoara
View: 1,272 times
Download: 11 times
Share this document with a friend
Description:
 
18
Lucrul cu fisiere
Transcript
Page 1: Lucrul cu fisiere php

Lucrul cu fisiere

Page 2: Lucrul cu fisiere php

Privilegiile asociate unui fisier sau unui catalog determina operatiile pe care le poate executa un utilizator cu fisierul sau catalogul respectiv.Pentru a adauga un fisier intr-un director, folosind PHP, trebuie sa aveti permisiunea de scriere in acel director, de asemenea, pentru a adauga date intr-un fisier, trebuie sa aveti permisiunea de scriere in fisierul respectiv.Aceste permisiuni sunt date (configurate) de administratorul sistemului respectiv.PHP furnizeaza numeroase functii care va permit sa obtineti informatii care descriu un fisier.

Obtinerea atributelor unui fisier

Page 3: Lucrul cu fisiere php

Functii PHP pentru obtinerea atributelor unui fisierFunctie Descriere

file_exists()- Returneaza TRUE daca fisierul specificat exista, respectiv FALSE în caz contrar

fileatime() - Returneaza timpul de acces la fisier sub forma de amprenta de timp UNIX.

filectime()- Returneaza timpul de modificare al i-nodului (structura de date care contine informatii despre fisiere UNIX - N. T.) sub forma de amprenta de timp UNIX.

filegroup() - Returneaza identificatorul numeric al grupului care detine fisierul

filemtime()- Returneaza momentul de timp al modificarii fisierului sub forma de amprenta de timp UNIX

fileowner() - Returneaza identificatorul numeric de utilizator al fisieruluifileperms() - Returneaza permisiunile fisieruluifilesize() - Returneaza dimensiunea fisierului, în octeti

filetype()- Returneaza tipul fisierului, în speta "fifo", "char", "dir", "block", "link", "file" sau "unknown"

is_dir()- Returneaza TRUE daca directorul specificat exista; în caz contrar, returneaza FALSE

is_file()- Returneaza TRUE daca fisierul specificat exista; în caz contrar, returneaza FALSE

is_readable()- Returneaza TRUE daca fisierul specificat exista si poate fi citit; în caz contrar, returneaza FALSE

is_writable()- Returneaza TRUE daca fisierul specificat exista si se poate scrie în acel fisier; în caz contrar, returneaza FALSE

Tabelul urmator rezuma cele mai cunoscute dintre aceste

functii.

Page 4: Lucrul cu fisiere php

Iata un exemplu in care puteti vedea, si intelege mai bine, cum sunt folosite functiile rezentate in tabelul anterior (fisierul 'test.txt' care va fi folosit de functii se afla in acelasi director cu scriptul php):

Exemplu

Page 5: Lucrul cu fisiere php

<?php$filename = "test.txt";

$result = file_exists($filename);echo "<br /> file_exists(): $result";

$result = fileowner($filename);echo "<br /> fileowner(): $result";

$result = filegroup($filename);echo "<br /> filegroup(): $result";

$result = filetype($filename);echo "<br /> filetype(): $result";

$result = filesize($filename);echo "<br /> filesize(): $result";

$result = fileatime($filename);$result = date("m/d/Y H:i", $result);echo "<br /> fileatime(): $result";

Exemplu

Page 6: Lucrul cu fisiere php

$result = filectime($filename);$result = date("m/d/Y H:i", $result);echo "<br /> filectime(): $result";

$result = filemtime($filename);$result = date("m/d/Y H:i", $result);echo "<br /> filemtime(): $result";

$result = fileperms($filename);$result = decoct($result);echo "<br /> fileperms(): $result";

$result = is_file($filename);echo "<br /> is_file(): $result";

$result = is_dir($filename);echo "<br /> is_dir(): $result";

$result = is_readable($filename);echo "<br /> is_readable(): $result";$result = is_writable($filename);echo "<br /> is_writable(): $result";?>

Exemplu

Page 7: Lucrul cu fisiere php

file_exists(): 1fileowner(): 0filegroup(): 0filetype(): filefilesize(): 5fileatime(): 08/28/2008 00:00filectime(): 08/28/2008 10:49filemtime(): 08/28/2008 11:32fileperms(): 100666is_file(): 1is_dir():is_readable(): 1is_writable(): 1

Datele de iesire ale exemplului sunt urmatoarele

Page 8: Lucrul cu fisiere php

Privilegiile asociate unui fisier (sau director) determina operatiile pe care utilizatorii le pot efectua cu fisierul (sau directorul) respectiv. =Privilegiile sunt date sub forma a trei grupuri alcatuite din câte trei caractere fiecare; cu alte cuvinte, trei triade. Prima triada indica privilegiile acordate posesorului fisierului. Cea de-a doua triada indica privilegiile acordate membrilor grupului posesor al fisierului. Cea de-a treia triada indica privilegiile acordate altor utilizatori.Cele 3 caractere care alcatuiesc un grup sunt reprezentate, in sistemele UNIX, prin urmatoarele tri litere: 'r', 'w' si 'x'; acestea reprezinta:r - fisierul poate fi cititw - se poate scrie în fisierx - continutul fisierului poate fi executat

Privilegii de fisier

Page 9: Lucrul cu fisiere php

Inainte de a putea citi sau scrie într-un fisier, trebuie sa deschideti fisierul folosind functia fopen().

fopen("nume_fisier", "mod")- unde 'nume_fisier' specifica numele si calea spre fisierul care urmeaza a fi deschis, iar 'mod' indica tipul de acces dorit.

Modurile de deschidere a unui fisier sunt urmatoarele:r - Permite doar citirea fisieruluir+ - Citire sau scriere de la inceputul fisieruluiw - Creaza fisierul daca nu exista si suprascrie datele existentew+ - Citire sau scriere; la scriere , creeaza fisierul daca nu exista si suprascrie datele existentea - Adaugare; Creaza fisierul daca nu exista si adauga datele noi la sfarsitul fisierului existenta+ - Citire sau scriere; la scriere, creaza fisierul daca nu exista si adauga datele noi la sfarsitul fisierului existentx - Doar scriere; Creaza fisierul daca nu exista si genereaza un averisment daca acesta existax+ - Citire sau scriere; Creaza fisierul daca nu exista si genereaza un averisment daca acesta existab - Deschide fisierul in mod binar

Deschiderea unui fisier

Page 10: Lucrul cu fisiere php

De exemplu, instructiunea urmatoare deschide fisierul 'carte.txt' pentru citire:$fh = fopen("carte.txt", "r");Sub Microsoft Windows, fisierele ASCII si fisierele binare sunt tratate în mod diferit. Când deschideti un fisier binar sub Windows, specificati "b" ca al doilea caracter al modului; de exemplu, "rb" pentru citire, "wb" pentru scriere, "a+b" pentru citire si adaugare. Daca nu procedati astfel, citirile din fisier si alte operatii se vor încheia prematur sau vor esua.

Deschiderea unui fisier

Page 11: Lucrul cu fisiere php

Un fisier deschis consuma resursele sistemului. Când un script a terminat de utilizat un fisier, scriptul trebuie sa închida fisierul, eliberând aceste resurse. 

La sfârsitul unui script, PHP închide în mod automat fisierele deschise. Totusi, la programare se recomanda sa închideti fisierele mai rapid, ori de câte ori este posibil.Pentru a închide un fisier, folositi functia fclose():

fclose(identificator_fisier)-'identificator_fisier' este identificatorul fisierului, returnat la deschiderea acestuia cu functia fopen()Iata un exemplu caracteristic de deschidere, utilizare si închidere a unui fisier:<?php$fh = fopen("carte.txt", "rb");if (!$fh) {       echo "Nu a fost deschis fisierul carte.txt.";}// Aici se insereaza instructiunile care folosesc fisierul deschisfclose($fh);?>

Inchiderea unui fisier

Page 12: Lucrul cu fisiere php

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.

Citirea dintr-un fisier

Page 13: Lucrul cu fisiere php

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$fh = @fopen("carte.txt", "rb");if (!$fh) {       echo "Nu a fost deschis fisierul carte.txt.";}else {      $s = fread($fh, 256);      echo "<br /> Citeste: $s";       fclose($fh); }?>

Citirea dintr-un fisier

Page 14: Lucrul cu fisiere php

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.

Citirea unei linii de text

Page 15: Lucrul cu fisiere php

Iata un exemplu care prezinta modul de citire si de afisare a primilor 125 octeti din prima linii a unui fisier :<?php$nume = "carte.txt";$fh = @fopen($nume, "rb");if (!$fh) {       echo "Nu a fost deschis fisierul carte.txt.";}else {       $s = fgets($fh, 126);       echo "<br /> Citeste: $s";       fclose($fh);}?>

Citirea unei linii de text

Page 16: Lucrul cu fisiere php

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.

Scrierea într-un fisier

Page 17: Lucrul cu fisiere php

Iata un exemplu care prezinta modul de scriere a datelor într-un fisier:<?php$nume = "carte.txt";$fh = @fopen($nume, "ab");if (!$fh) {       echo "Nu a fost deschis fisierul carte.txt.";}else {       $ok = fwrite($fh, "Acestea sunt datele adaugate \n");       echo "<br /> Rezultatul scris este: $ok";       fclose($fh);}?>Acest script va avea urmatoarele date de iesire:Rezultatul scris este: 30

Scrierea într-un fisier

Page 18: Lucrul cu fisiere php

Pentru a simplifica lucrul cu fișiere în PHP există 2 funcții simple de creare și citire a datelor din fișier. Funcțiilefile_get_contents(fișier) - întoarce un șir de caractere cu conținutul fișierului fișier.file_put_contents (șir, fișier) – înscrie șirul șir de caractere în fișierul fișier.

Varianta simplificată


Recommended