- Introducere PHP
- Instalare si Configurare
- Despre sintaxa PHP
- Varibile PHP
- Constante
- Operatori
- Procesul Decizional
- Instructiuni Repetitive
- Array-uri (Vectori)
- Concepte Web
- Incluziunea fisierelor
- Lucrul cu fisiere
- Functii
- Cookie
- Session
- Trimiterea de mailuri
- File Uploading
- Standarde de Programare
- Metodele GET si POST
- Validarea Formularelor
- Campuri obligatorii
- Variabile Predefinite
- Regular Expressions
- Erori si Exceptii
- Debugging
- Data si Timpul
- Mysqli â Conexiunea la baza de date
- Crearea unei baze de date
- Stergerea unei baze de date
- Inserare date
- Preluare date din MySql
- Stefanescu Mihai a postat in Paginare in PHP
- johhny a postat in Paginare in PHP
- Stefanescu Mihai a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- madalin a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- Stefanescu Mihai a postat in Featureuri site
Lucrul cu fisiere
Sistemul de fisiere reprezinta o structura arborescenta, in nodurile caruia se pot afla fisiere sau directoare. Se poate face referinta la un fisier prin calea catr el. O cale reprezinta succesiunea nodurilor pana la o anumita destinatie, separate de un caracter specific. Sintaxa unei cai difera si ea in functie de sistemul de operare:
- Windows – exemplu: C:\xampp\htdocs\scriptul_meu\index.php
- Linux – exemplu: /var/www/scriptul_meu/index.php
Din cauza acestor diferente PHP ne pune la dispozitie 2 constante predefinite ce se modifica automat in functie de sistemulde operare:
- DIRECTORY_SEPARATOR – are ca valoare separatorul intre componentele unei cai (in unix /, iar in windows \)
- PATH_SEPARATOR – separatorul intre mai multe cai consecutive (in unix :, ;in windows)
Caile pot fi de 2 feluri.
- absolute – exemplu: C:\xampp\htdocs\scirpturile_mele\index.php sau in unix /var/www/scripturile_mele/index.php
- relative – exemplu: ..\..\functii.php in windows si in unix ../../functii.php
In acest articol am sa va invat 4 operatii importante cu fisiere:
- Deschiderea unui fisier
- Citirea unui fisier
- Scrierea unui fisier
- Inchiderea unui fisier
Deschiderea si Inchiderea fisierelor
PHP ne pune la dispozitie functia fopen() pentru a deschide un fisier. Aceasta functie primeste 2 argumente, numele fisierului si modul in care sa fie deschis.Mai jos am postat un tabel cu modurile posibile in care poate fi deschis un fisier:
Mod | Operatii | Plasare Pointer | Descriere |
r | Citire | Inceputul Fisierului | Daca fisierul nu exista se genereaza un warning. |
r+ | Citire+Scriere | Inceputul Fisierului | Daca fisierul nu exista se genereaza un warning. |
w | Scriere | Inceputul Fisierului | Daca fisierul exista, este golit. Daca nu exista, se incearca crearea lui. |
w+ | Citire+Scriere | Inceputul Fisierului | Daca fisierul exista, este golit. Daca nu exista, se incearca crearea lui. |
a | Adaugare(Scriere) | Sfarsitul Fisierului | Daca fisierul nu exista se incearca crearea lui. |
a+ | Adaugare(Citire+Scriere) | Sfarsitul Fisierului | Daca fisierul nu exista se incearca crearea lui. |
x | Creare+Scriere | Inceputul Fisierului | Daca fisierul exista, fopen returneaza false si genereaza warning.Daca fisierul nu exista, este creat si deschis pentru scriere. |
x+ | Creare, citire+scriere | Inceputul Fisierului | Daca fisierul exista, fopen returneaza false si genereaza warning.Daca fisierul nu exista, este creat si deschis pentru scriere. |
Dupa ce au fost facute schimbari intr-un fisier este important sa-l inchide folosind functia fclose(). Aceasta functie necesita un pointer ca si argument si returneaza true daca fisierul a fost inchis cu succes, sau false daca nu a fost inchis cu success.
O data ce un fisier a fost deschis folosind functia fopen() putem folosi functia fread() pentru a-i citi continutul. Aceasta functie necesita 2 argumente, pointerul fisierului si marimea acestuia in bytes.Marimea fisierului poate fi aflata folosind functia filesize(), care are nevoie de un singur argument, mai exact are nevoie de numele fisierului si va return marimea acestuia in bytes.Iata pasi de deschidere a unui fisier:
- Deschide fisierul folosind functia fopen()Afla marimea folosind functia filesize()Citeste continutul folosind functia fread()Inchide-l folosind functia fclose()
In urmatorul exemplu salvam continutul unui fisier text intr-o variabila si il afisam pe pagina noastra web.
$fisier = "/home/user/guest/fisier.txt"; $file = fopen( $fisier, "r" ); if( $file == false ){ echo ( "Nu pot deschide fisierul" ); exit(); } $marime = filesize($fisier); $continut = fread($file, $marime); fclose( $file ); echo ( "Marime fisier : $marime bytes" ); echo ( "<pre>$continut</pre>" );
Scrierea Fisierelor
Un nou fisier poate fi creat sau poate fi adaugat text intr-un fisier folosind functia fwrite(). Aceasta functie primeste 2 argumente ce specifica fisierul si textul de adaugat.Optinal, putem pune si un al treilea argument ce specifica marimea fisierul. Daca este inclus si un al treilea argument scrierea se opreste cand se ajunge la marimea specificata.
Urmatorul exemplu creaza un nou fisier text si adauga un text in el. Dupa inchidere lui se va confirma existenta acestuia cu ajutorul functiei file_exist().
$fisier = "/home/user/guest/fisier_nou.txt"; $file = fopen( $fisier, "r" ); if( $file == false ){ echo ( "Nu pot deschide fisierul" ); exit(); } fwrite( $file, "Un simplu text\n" ); fclose( $file ); if( file_exist( $fisier ) ){ $filesize = filesize( $fisier ); $msg = "Fisierul are numele: $fisier "; $msg .= "si are marimea de $filesize bytes"; echo ($msg ); }else{ echo ("Fisierul $fisier nu exista" ); }
Comentarii
Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!