Jump to content
Aplicatiile pentru functia de "Helper" pentru serverul de Minecraft sunt deschise !

[Php] Folosirea Fisierelor In Php


Guest dizzy

Recommended Posts

In orice limbaj de programare, si deci si in PHP, cand se lucreaza cu fisiere trebuie efectuate urmatoarele operatiuni:

  • deschiderea fisierului
  • citirea din fisier/scrierea in fisier
  • inchiderea fisierului

Necesitatea fiecarei operatiuni este probabil usor de inteles. Un fisier trebuie deschis pentru a putea vedea ce este in el - chiar si pentru o secventa de cod aceasta este o necesitate. Scrierea/citirea propriu-zisa reprezinta operatia pentru care fisierul a fost deschis, prin care sunt preluate sau adaugate informatii in fisier. La finalul folosirii fisierului acesta trebuie sa fie inchis, altfel este posibil ca informatiile continute sa se piarda.

Instructiunile PHP corespunzatoare operatiilor de mai sus sunt prezentate in cele ce urmeaza. De remarcat este faptul ca trebuie specificat inca de la deschiderea fisierului ce fel de operatii vor avea loc: citire, scriere sau ambele.

<?php

# deschiderea unui fisier si citirea din el

$id_fisier = fopen("c:\\folder\\fisier.txt", 'r'); // deschidere

fread( $id_fisier, 10 ); // citire 10 octeti din fisier

fclose($id_fisier); // inchidere

# deschiderea unui fisier, stergerea continutului si scrierea in el

$id_fisier = fopen("c:\\folder\\fisier.txt", 'w'); // deschidere

fwrite( $id_fisier, 'Text nou in fisier' );

fclose($id_fisier); // inchidere

# deschiderea unui fisier si scrierea la sfarsitul lui

$id_fisier = fopen("c:\\folder\\fisier.txt", 'a'); // deschidere

fwrite( $id_fisier, 'Text adaugat in fisier' );

fclose($id_fisier); // inchidere

?>

Asa cum s-a observat, un mod de deschidere pentru citire ('r') si 2 moduri de deschidere pentru scriere: cu stergere a continutului vechi (modul 'w') si cu pastrare a continutului (modul 'a'), caz in care scrierea se face la sfarsitul fisierului, imediat dupa continutul vechi. Depinde de specificul fiecarei situatii ce mod de scriere trebuie ales.

Limbajul PHP dispune si de alte moduri de deschidere a fisierului, care sunt mici variatii ale celor prezentate mai sus. Intrucat sunt folosite doar in anumite situatii nu vor fi prezentate aici. Pentru detalii puteti consulta pagina de documentatie a functiei fopen.

Instructiunile de mai sus pot fi folosite cu orice tip de fisier, text sau binar si reprezinta baza in lucrul cu fisierele. Exista o suita de alte functii pentru citirea sau scrierea anumitor tipuri de date specifice, ce pot fi folosite cu ambele tipuri de fisiere. In practica insa, de cele mai multe ori se lucreaza cu instructiuni "utilitare" de manipulare a fisierelor text - instructiuni care simplifica efortul programatorului in special in situatii generale. Aceste functii sunt descrise in cele ce urmeaza.

Instructiuni pentru fisiere text

Pentru simplificarea codului de citire/scriere a unui fisier in situatii generale, PHP ofera cateva functii foarte convenabile: file_get_contents, file_put_contents si file. Primele doua, dupa cum si numele spune, permit preluarea intregului continut al unui fisier si punerea lui intr-o variabila string, printr-un singur apel, respectiv crearea unui fisier care sa contina valoarea unei variabile (exemple mai jos). Cea de-a treia functie permite crearea unui vector ce are ca elemente liniile fisierului specificat. De exemplu, un fisier cu 3 linii va genera un vector cu 3 elemente, fiecare element reprezentant o linie din fisier.

Este important de mentinut ca odata citit continutul fisierului (cu file_get_contents si file) variabilele se "deconecteaza" de fisier, adica orice modificare facuta asupra variabilei nu se reflecta si asupra fisierului, cele 2 entitati fiind separate.

<?php

// pun tot continutul fisierului intr-o variabila

$continut = file_get_contents( 'fisier.txt' );

// in acest moment tot continutul este stocat in variabila $continut

// pot procesa continutul sau il pot modifica

// adaug ceva la final

// Nota: modificarea se face doar in variabila $continut, nu si in fisier

$continut = $continut . ' -- Text adaugat de PHP';

// la final salvez variabila $continut intr-un al doilea fisier

file_put_contents( 'fisier2.txt', $continut );

// creea un alt fisier care contine 2 cifre doar

file_put_contents( 'fisier3.txt', '11' );

// din continutul unui fisier creez un vector format din liniile fisierului

$linii = file( 'fisier4.txt' );

echo 'Linia a 3a din fisier este: ', $linii[ 2 ];

?>

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...