ZeroCold Posted May 29, 2011 Report Share Posted May 29, 2011 (edited) Folosind PHP-ul se pot executa anumite operatii asupra fisierelor aflate pe server cum ar fi:fopen() = deschide fisierul indicatfclose() = inchide fisierulfread() = citeste continutul fisieruluifwrite() = scrie in fisierfilesize() = indica dimensiunea fisieruluiDeschiderea fisierelorSintaxa functiei fopen() este:fopen(param1, param2);param1 = fisierul, calea catre fisier sau adresa fisierului care va fi deschisparam2 = modul in care va fi deschis fisierul, si poate avea valorile:r = fisier deschis doar pentru citirer+ = fisier deschis doar pentru citire si scrierew = fisier deschis doar pentru scrierew+ = fisier deschis pentru citire si scriere iar daca nu exista fisierul il crezaa = fisier deschis pentru adaugare la sfarsita+ = fisier deschis adaugare la sfarsit iar daca nu exista fisierul il crezat = fisier deschis in mod textb = fisier deschis in mod binarsau combinatii ale acestora.Citirea fisierelorSintaxa functiei fread() este:$filename="proba.txt";$handle=fopen($filename, "r");$contents=fread($handle, filesize($filename));variabila $handle va fi folosita ulterior si in alte functii.Scrierea in fisiereSintaxa functiei fwrite() este:fwrite($handle, "continut ce va fi scris in fisier");Verificarea drepturilor de acces asupra fisieruluiSintaxa functiei is_writable este:is_writable($filename);returneaza TRUE daca se poate si FALSE daca nu se poate scrie in fisier.Inchiderea fisieruluiSintaxa functiei fclose() este:fclose($handle);Folosind aceste functii de baza putem incerca cateva exemple simple.Se verifica dreptul de scriere in fisier. Primul pas este crearea fisierului proba.txt apoi se verifica exemplul care va returna mesajul Acces interzis scrierii in fisier. Se modifica drepturile asupra fisierului adaugand scrierea. Se verifica iar exemplul care va returna mesajul Acces permis scrierii in fisier.<?php$filename="proba.txt";if(is_writable($filename)) { //se verifica dreptul de scriere in fisierecho "Acces permis scrierii in fisier";} else {echo "Acces interzis scrierii in fisier";}?>Adaugam exemplului anterior verificarea deschiderii fisierului:<?php$filename="proba.txt";if(is_writable($filename)) { //se verifica dreptul de scriere in fisierif(!$handle=fopen($filename, 'a')) { //se verifica deschiderea fisieruluiecho "Fisierul <b>".$filename."</b> nu poate fi deschis";exit; //se incheie executia scriptului}echo "Fisierul <b>".$filename."</b> poate fi deschis";} else {echo "Acces interzis pentru scriere in fisier";}?>Adaugam exemplului anterior scrierea in fisier si tiparirea continutului sau:<?php$filename="proba.txt";if(is_writable($filename)) { //se verifica dreptul de scriere in fisierif(!$handle=fopen($filename, 'a')) { //se verifica deschiderea fisieruluiecho "Fisierul <b>".$filename."</b> nu poate fi deschis";exit; //se incheie executia scriptului}if(fwrite($handle, date("j-n-Y g:ia")."\r\n")===FALSE) { //testeaza daca se poate scrie in fisierdie ("Nu se poate scrie in ".$filename.""); //iesire}fclose($handle);$matrice=file($filename); //se citeste continutul fisierului si se stocheaza intr-o matriceforeach ($matrice as $cheie =>$valoare) {echo $valoare."<br>"; //printeaza cate o valoare pe un rand}} else {echo "Acces interzis pentru scriere in fisier";}?>_______#Credite: Catalin Drogoreanu Edited May 29, 2011 by ZeroCold 1 Quote Link to comment Share on other sites More sharing options...
Birkoff Posted May 29, 2011 Report Share Posted May 29, 2011 ca alternativa mai simpla se poate folosi file_get_contents() pentru citire si file_put_contents() pentru scriere.[offtopic]nu cred ca Catalin ti-a dat acordul de republicare, din cate il cunosc eu pe el nu prea da asa usor acordul sa ii fie republicate articolele... Quote Link to comment Share on other sites More sharing options...
Nytro Posted May 29, 2011 Report Share Posted May 29, 2011 A specificat atat autorul cat si sursa. Nu vad unde ar fi problema. In plus, un astfel de tutorial se scrie in 5 minute, nu e tocmai munca de o viata... Quote Link to comment Share on other sites More sharing options...