En aquest tema, aprendrem com treballar amb fitxers en PHP. La gestió de fitxers és una habilitat essencial per a qualsevol desenvolupador, ja que permet emmagatzemar, llegir i manipular dades de manera persistent. PHP proporciona una sèrie de funcions integrades per a la lectura i escriptura de fitxers de manera eficient.
Objectius
- Entendre com obrir, llegir i escriure fitxers en PHP.
- Aprendre a tancar fitxers després d'operar amb ells.
- Conèixer les funcions bàsiques per a la gestió de fitxers.
- Obrir un Fitxer
Abans de poder llegir o escriure en un fitxer, primer hem d'obrir-lo. PHP utilitza la funció fopen()
per a aquest propòsit.
Sintaxi de fopen()
Modes d'Apertura
Mode | Descripció |
---|---|
r |
Només lectura. El punter del fitxer comença al principi del fitxer. |
w |
Només escriptura. Esborra el contingut del fitxer si existeix o crea un nou fitxer si no existeix. |
a |
Només escriptura. Escriu al final del fitxer. Crea un nou fitxer si no existeix. |
x |
Només escriptura. Crea un nou fitxer. Retorna FALSE i un error si el fitxer ja existeix. |
r+ |
Lectura i escriptura. El punter del fitxer comença al principi del fitxer. |
w+ |
Lectura i escriptura. Esborra el contingut del fitxer si existeix o crea un nou fitxer si no existeix. |
a+ |
Lectura i escriptura. Escriu al final del fitxer. Crea un nou fitxer si no existeix. |
x+ |
Lectura i escriptura. Crea un nou fitxer. Retorna FALSE i un error si el fitxer ja existeix. |
Exemple
$fitxer = fopen("exemple.txt", "r"); if ($fitxer) { echo "El fitxer s'ha obert correctament."; } else { echo "No s'ha pogut obrir el fitxer."; }
- Llegir un Fitxer
Funció fread()
La funció fread()
llegeix un nombre específic de bytes d'un fitxer obert.
Sintaxi de fread()
Exemple
$fitxer = fopen("exemple.txt", "r"); if ($fitxer) { $contingut = fread($fitxer, filesize("exemple.txt")); echo $contingut; fclose($fitxer); } else { echo "No s'ha pogut obrir el fitxer."; }
Funció fgets()
La funció fgets()
llegeix una línia d'un fitxer obert.
Sintaxi de fgets()
Exemple
$fitxer = fopen("exemple.txt", "r"); if ($fitxer) { while (($linia = fgets($fitxer)) !== false) { echo $linia . "<br>"; } fclose($fitxer); } else { echo "No s'ha pogut obrir el fitxer."; }
- Escriure en un Fitxer
Funció fwrite()
La funció fwrite()
escriu dades en un fitxer obert.
Sintaxi de fwrite()
Exemple
$fitxer = fopen("exemple.txt", "w"); if ($fitxer) { $text = "Això és una línia de text.\n"; fwrite($fitxer, $text); fclose($fitxer); echo "Les dades s'han escrit correctament."; } else { echo "No s'ha pogut obrir el fitxer."; }
- Tancar un Fitxer
És important tancar un fitxer després d'haver acabat d'operar amb ell per alliberar recursos del sistema. Això es fa amb la funció fclose()
.
Sintaxi de fclose()
Exemple
$fitxer = fopen("exemple.txt", "r"); if ($fitxer) { // Operacions amb el fitxer fclose($fitxer); echo "El fitxer s'ha tancat correctament."; } else { echo "No s'ha pogut obrir el fitxer."; }
Exercicis Pràctics
Exercici 1: Llegir un Fitxer
Crea un script PHP que llegeixi el contingut d'un fitxer anomenat dades.txt
i el mostri a la pantalla.
Solució
$fitxer = fopen("dades.txt", "r"); if ($fitxer) { $contingut = fread($fitxer, filesize("dades.txt")); echo $contingut; fclose($fitxer); } else { echo "No s'ha pogut obrir el fitxer."; }
Exercici 2: Escriure en un Fitxer
Crea un script PHP que escrigui el text "Hola, món!" en un fitxer anomenat sortida.txt
.
Solució
$fitxer = fopen("sortida.txt", "w"); if ($fitxer) { $text = "Hola, món!\n"; fwrite($fitxer, $text); fclose($fitxer); echo "Les dades s'han escrit correctament."; } else { echo "No s'ha pogut obrir el fitxer."; }
Resum
En aquesta secció, hem après com obrir, llegir i escriure fitxers en PHP utilitzant funcions com fopen()
, fread()
, fgets()
, fwrite()
i fclose()
. També hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. Ara estem preparats per explorar funcions més avançades de gestió de fitxers en el següent tema.
Curs de Programació PHP
Mòdul 1: Introducció a PHP
- Què és PHP?
- Configuració de l'Entorn de Desenvolupament
- El teu Primer Script PHP
- Sintaxi i Variables de PHP
- Tipus de Dades en PHP
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Àmbit de Variables
- Funcions Anònimes i Closures
Mòdul 4: Arrays
Mòdul 5: Treballant amb Formularis
Mòdul 6: Treballant amb Fitxers
- Lectura i Escriptura de Fitxers
- Funcions de Gestió de Fitxers
- Permisos de Fitxers
- Funcions de Directori
Mòdul 7: Programació Orientada a Objectes (OOP)
- Introducció a OOP
- Classes i Objectes
- Propietats i Mètodes
- Herència
- Interfícies i Classes Abstractes
- Traits
Mòdul 8: Treballant amb Bases de Dades
- Introducció a les Bases de Dades
- Connexió a una Base de Dades MySQL
- Realització d'Operacions CRUD
- Ús de PDO per a la Interacció amb Bases de Dades
- Seguretat en Bases de Dades
Mòdul 9: Tècniques Avançades de PHP
- Gestió d'Errors i Excepcions
- Sessions i Cookies
- Expressions Regulars
- Treballant amb JSON i XML
- PHP i Serveis Web
Mòdul 10: Frameworks PHP i Millors Pràctiques
- Introducció als Frameworks PHP
- Començant amb Laravel
- Arquitectura MVC
- Millors Pràctiques en Desenvolupament PHP
- Proves i Depuració