En aquest tema, explorarem les funcions de PHP que permeten gestionar fitxers. Aquestes funcions són essencials per a la manipulació de fitxers en aplicacions web, com ara la lectura, escriptura, còpia, eliminació i obtenció d'informació sobre fitxers.

Funcions Bàsiques de Gestió de Fitxers

  1. fopen()

La funció fopen() s'utilitza per obrir un fitxer. Aquesta funció retorna un punter al fitxer que es pot utilitzar per a altres operacions de fitxer.

Sintaxi:

$handle = fopen("nom_fitxer.txt", "mode");

Modes d'obertura: | 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 o crea un fitxer nou si no existeix. | | a | Només escriptura. Escriu al final del fitxer o crea un fitxer nou si no existeix. | | x | Només escriptura. Crea un fitxer nou. Retorna FALSE 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 o crea un fitxer nou si no existeix. | | a+ | Lectura i escriptura. Escriu al final del fitxer o crea un fitxer nou si no existeix. | | x+ | Lectura i escriptura. Crea un fitxer nou. Retorna FALSE si el fitxer ja existeix. |

Exemple:

$handle = fopen("example.txt", "r");
if ($handle) {
    echo "Fitxer obert amb èxit.";
    fclose($handle);
} else {
    echo "No s'ha pogut obrir el fitxer.";
}

  1. fread()

La funció fread() s'utilitza per llegir dades d'un fitxer obert.

Sintaxi:

$contents = fread($handle, length);

Exemple:

$handle = fopen("example.txt", "r");
if ($handle) {
    $contents = fread($handle, filesize("example.txt"));
    echo $contents;
    fclose($handle);
} else {
    echo "No s'ha pogut obrir el fitxer.";
}

  1. fwrite()

La funció fwrite() s'utilitza per escriure dades en un fitxer obert.

Sintaxi:

fwrite($handle, string);

Exemple:

$handle = fopen("example.txt", "w");
if ($handle) {
    fwrite($handle, "Hola, món!");
    fclose($handle);
    echo "Dades escrites amb èxit.";
} else {
    echo "No s'ha pogut obrir el fitxer.";
}

  1. fclose()

La funció fclose() s'utilitza per tancar un fitxer obert.

Sintaxi:

fclose($handle);

Exemple:

$handle = fopen("example.txt", "r");
if ($handle) {
    // Operacions amb el fitxer
    fclose($handle);
    echo "Fitxer tancat amb èxit.";
} else {
    echo "No s'ha pogut obrir el fitxer.";
}

Funcions Addicionals de Gestió de Fitxers

  1. file_get_contents()

La funció file_get_contents() llegeix tot el contingut d'un fitxer en una cadena.

Sintaxi:

$contents = file_get_contents("nom_fitxer.txt");

Exemple:

$contents = file_get_contents("example.txt");
if ($contents !== false) {
    echo $contents;
} else {
    echo "No s'ha pogut llegir el fitxer.";
}

  1. file_put_contents()

La funció file_put_contents() escriu una cadena en un fitxer. Si el fitxer no existeix, el crea.

Sintaxi:

file_put_contents("nom_fitxer.txt", "contingut");

Exemple:

$result = file_put_contents("example.txt", "Hola, món!");
if ($result !== false) {
    echo "Dades escrites amb èxit.";
} else {
    echo "No s'ha pogut escriure al fitxer.";
}

  1. unlink()

La funció unlink() s'utilitza per eliminar un fitxer.

Sintaxi:

unlink("nom_fitxer.txt");

Exemple:

if (unlink("example.txt")) {
    echo "Fitxer eliminat amb èxit.";
} else {
    echo "No s'ha pogut eliminar el fitxer.";
}

  1. copy()

La funció copy() s'utilitza per copiar un fitxer a una nova ubicació.

Sintaxi:

copy("fitxer_origen.txt", "fitxer_destinacio.txt");

Exemple:

if (copy("example.txt", "example_copy.txt")) {
    echo "Fitxer copiat amb èxit.";
} else {
    echo "No s'ha pogut copiar el fitxer.";
}

  1. rename()

La funció rename() s'utilitza per canviar el nom d'un fitxer o moure'l a una nova ubicació.

Sintaxi:

rename("nom_actual.txt", "nou_nom.txt");

Exemple:

if (rename("example.txt", "new_example.txt")) {
    echo "Fitxer renombrat amb èxit.";
} else {
    echo "No s'ha pogut renombrar el fitxer.";
}

Exercicis Pràctics

Exercici 1: Llegir i Escriure Fitxers

  1. Crea un fitxer anomenat data.txt i escriu-hi el text "Aquest és un fitxer de prova".
  2. Llegeix el contingut del fitxer i mostra'l per pantalla.

Solució:

// Escriure al fitxer
file_put_contents("data.txt", "Aquest és un fitxer de prova");

// Llegir del fitxer
$contents = file_get_contents("data.txt");
if ($contents !== false) {
    echo $contents;
} else {
    echo "No s'ha pogut llegir el fitxer.";
}

Exercici 2: Copiar i Eliminar Fitxers

  1. Copia el fitxer data.txt a data_copy.txt.
  2. Elimina el fitxer data.txt.

Solució:

// Copiar el fitxer
if (copy("data.txt", "data_copy.txt")) {
    echo "Fitxer copiat amb èxit.";
} else {
    echo "No s'ha pogut copiar el fitxer.";
}

// Eliminar el fitxer original
if (unlink("data.txt")) {
    echo "Fitxer eliminat amb èxit.";
} else {
    echo "No s'ha pogut eliminar el fitxer.";
}

Conclusió

En aquesta secció, hem après a utilitzar diverses funcions de PHP per gestionar fitxers, incloent l'obertura, lectura, escriptura, còpia, eliminació i obtenció d'informació sobre fitxers. Aquestes habilitats són fonamentals per a la manipulació de fitxers en aplicacions web. En el proper tema, explorarem els permisos de fitxers i com gestionar-los en PHP.

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