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.

  1. 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()

$fitxer = fopen("nom_del_fitxer.txt", "mode");

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.";
}

  1. Llegir un Fitxer

Funció fread()

La funció fread() llegeix un nombre específic de bytes d'un fitxer obert.

Sintaxi de fread()

$contingut = fread($fitxer, $longitud);

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()

$linia = fgets($fitxer);

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.";
}

  1. Escriure en un Fitxer

Funció fwrite()

La funció fwrite() escriu dades en un fitxer obert.

Sintaxi de fwrite()

fwrite($fitxer, $dades);

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.";
}

  1. 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()

fclose($fitxer);

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

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Arrays

Mòdul 5: Treballant amb Formularis

Mòdul 6: Treballant amb Fitxers

Mòdul 7: Programació Orientada a Objectes (OOP)

Mòdul 8: Treballant amb Bases de Dades

Mòdul 9: Tècniques Avançades de PHP

Mòdul 10: Frameworks PHP i Millors Pràctiques

Mòdul 11: Projecte: Construint una Aplicació Web

© Copyright 2024. Tots els drets reservats