marți, 28 iunie 2011

Tutorial PHP: Lucrul cu fisiere

0 comentarii
 
Folosind PHP-ul se pot executa anumite operatii asupra fisierelor aflate pe server cum ar fi:
fopen() = deschide fisierul indicat
fclose() = inchide fisierul
fread() = citeste continutul fisierului
fwrite() = scrie in fisier
filesize() = indica dimensiunea fisierului

Deschiderea fisierelor
Sintaxa functiei fopen() este:


PHP Code:
fopen(param1param2);  
param1 = fisierul, calea catre fisier sau adresa fisierului care va fi deschis
param2 = modul in care va fi deschis fisierul, si poate avea valorile:

r = fisier deschis doar pentru citire
r+ = fisier deschis doar pentru citire si scriere
w = fisier deschis doar pentru scriere
w+ = fisier deschis pentru citire si scriere iar daca nu exista fisierul il creza
a = fisier deschis pentru adaugare la sfarsit
a+ = fisier deschis adaugare la sfarsit iar daca nu exista fisierul il creza
t = fisier deschis in mod text
b = fisier deschis in mod binar
sau combinatii ale acestora.

Citirea fisierelor
Sintaxa functiei fread() este:

PHP Code:
$filename="proba.txt";$handle=fopen($filename"r");$contents=fread($handlefilesize($filename));  
variabila $handle va fi folosita ulterior si in alte functii.

Scrierea in fisiere
Sintaxa functiei fwrite() este:

PHP Code:
fwrite($handle"continut ce va fi scris in fisier");  
Verificarea drepturilor de acces asupra fisierului
Sintaxa functiei is_writable este:

PHP Code:
is_writable($filename);  
returneaza TRUE daca se poate si FALSE daca nu se poate scrie in fisier.

Inchiderea fisierului
Sintaxa functiei fclose() este:

PHP Code:
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 Code:
<?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 Code:
<?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 Code:
<?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($handledate("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: http://www.drogoreanu.ro/

Leave a Reply