Your SlideShare is downloading. ×
Lucrul cu fisiere php
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lucrul cu fisiere php

727

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
727
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Lucrul cu fisiere
  • 2. Obtinerea atributelor unui fisierPrivilegiile asociate unui fisier sau unui catalog determinaoperatiile pe care le poate executa un utilizator cu fisierul saucatalogul respectiv.Pentru a adauga un fisier intr-un director, folosind PHP,trebuie sa aveti permisiunea de scriere in acel director, deasemenea, pentru a adauga date intr-un fisier, trebuie saaveti permisiunea de scriere in fisierul respectiv.Aceste permisiuni sunt date (configurate) de administratorulsistemului respectiv.PHP furnizeaza numeroase functii care va permit sa obtinetiinformatii care descriu un fisier.
  • 3. Tabelul urmator rezuma cele mai cunoscute dintre aceste functii. Functii PHP pentru obtinerea atributelor unui fisier Functie Descrierefile_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. - Returneaza timpul de modificare al i-nodului (structura de date care contine informatii filectime() despre fisiere UNIX - N. T.) sub forma de amprenta de timp UNIX. filegroup() - Returneaza identificatorul numeric al grupului care detine fisierul - Returneaza momentul de timp al modificarii fisierului sub forma de amprenta de timpfilemtime() UNIXfileowner() - Returneaza identificatorul numeric de utilizator al fisieruluifileperms() - Returneaza permisiunile fisierului filesize() - Returneaza dimensiunea fisierului, în octeti - Returneaza tipul fisierului, în speta "fifo", "char", "dir", "block", "link", "file" sau filetype() "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 - Returneaza TRUE daca fisierul specificat exista si poate fi citit; în caz contrar, returneazais_readable() FALSE - Returneaza TRUE daca fisierul specificat exista si se poate scrie în acel fisier; în cazis_writable() contrar, returneaza FALSE
  • 4. ExempluIata un exemplu in care puteti vedea, si intelege maibine, cum sunt folosite functiile rezentate in tabelulanterior (fisierul test.txt care va fi folosit de functii seafla in acelasi director cu scriptul php):
  • 5. Exemplu<?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";
  • 6. Exemplu$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";?>
  • 7. Datele de iesire ale exemplului sunt urmatoarelefile_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
  • 8. Privilegii de fisierPrivilegiile asociate unui fisier (sau director) determina operatiile pecare utilizatorii le pot efectua cu fisierul (sau directorul) respectiv. =Privilegiile sunt date sub forma a trei grupuri alcatuite din câte treicaractere fiecare; cu alte cuvinte, trei triade. Prima triada indicaprivilegiile acordate posesorului fisierului. Cea de-a doua triada indicaprivilegiile acordate membrilor grupului posesor al fisierului. Cea de-atreia triada indica privilegiile acordate altor utilizatori.Cele 3 caractere care alcatuiesc un grup sunt reprezentate, insistemele UNIX, prin urmatoarele tri litere: r, w si x; acesteareprezinta:r - fisierul poate fi cititw - se poate scrie în fisierx - continutul fisierului poate fi executat
  • 9. Deschiderea unui fisierInainte 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 tipulde 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 fisieruluiexistentx - 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
  • 10. Deschiderea unui fisierDe 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 moddiferit. Când deschideti un fisier binar sub Windows, specificati "b" ca al doileacaracter 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 operatiise vor încheia prematur sau vor esua.
  • 11. Inchiderea unui fisier Un fisier deschis consuma resursele sistemului. Când un script a terminat de utilizatun fisier, scriptul trebuie sa închida fisierul, eliberând aceste resurse. La sfârsitul unui script, PHP închide în mod automat fisierele deschise. Totusi, laprogramare 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 cufunctia 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);?>
  • 12. Citirea dintr-un fisierPHP 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 defunctia fopen(), iar argumentul lungime specifica numarulmaxim de octeti care vor fi cititi. Octetii cititi din fisier suntreturnati sub forma de valoare de tip sir. Daca operatia decitire întâlneste sfârsitul fisierului, PHP va returna mai putinde lungime octeti data.
  • 13. Citirea dintr-un fisierIata un exemplu de citire si de afisare a unui text dintr-un fisier, folosindfunctia fopen() (Fisierul "carte.txt" folosit ca test in exemplele de mai jostrebuie 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);}?>
  • 14. Citirea unei linii de textSe obisnuieste frecvent citirea linie cu linie a unui text dintr-un fisier.Functia fgets() citeste o linie dintr-un fisier; functia areurmatoarea forma: fgets(identificator_fisier, lungime)- Argumentul identificator_fisier este o valoare returnata defunctia fopen(); aici, argumentul lungime specifica numarulmaxim 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 dinfisier sunt returnati ca valoare de tip sir.
  • 15. Citirea unei linii de textIata un exemplu care prezinta modul de citire si de afisare a primilor 125octeti 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);}?>
  • 16. Scrierea într-un fisierPentru a scrie intr-un fisier se foloseste functia fwrite(),aceasta are urmatoarea forma: fwrite(identificator_fisier, date);- Unde identificator_fisier este identificatorul de fisierreturnat de functia fopen(), iar date este o valoare sircare determina datele care urmeaza a fi scrise.Daca executia functiei reuseste, returneaza numaruloctetilor scrisi; în caz contrar, returneaza valoarea —l.
  • 17. Scrierea într-un fisierIata 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
  • 18. Varianta simplificatăPentru a simplifica lucrul cu fișiere în PHP există 2 funcțiisimple de creare și citire a datelor din fișier. Funcțiilefile_get_contents(fișier) - întoarce un șir de caractere cuconținutul fișierului fișier.file_put_contents (șir, fișier) – înscrie șirul șir decaractere în fișierul fișier.

×