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
fopen()
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:
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."; }
fread()
fread()
La funció fread()
s'utilitza per llegir dades d'un fitxer obert.
Sintaxi:
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."; }
fwrite()
fwrite()
La funció fwrite()
s'utilitza per escriure dades en un fitxer obert.
Sintaxi:
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."; }
fclose()
fclose()
La funció fclose()
s'utilitza per tancar un fitxer obert.
Sintaxi:
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
file_get_contents()
file_get_contents()
La funció file_get_contents()
llegeix tot el contingut d'un fitxer en una cadena.
Sintaxi:
Exemple:
$contents = file_get_contents("example.txt"); if ($contents !== false) { echo $contents; } else { echo "No s'ha pogut llegir el fitxer."; }
file_put_contents()
file_put_contents()
La funció file_put_contents()
escriu una cadena en un fitxer. Si el fitxer no existeix, el crea.
Sintaxi:
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."; }
unlink()
unlink()
La funció unlink()
s'utilitza per eliminar un fitxer.
Sintaxi:
Exemple:
if (unlink("example.txt")) { echo "Fitxer eliminat amb èxit."; } else { echo "No s'ha pogut eliminar el fitxer."; }
copy()
copy()
La funció copy()
s'utilitza per copiar un fitxer a una nova ubicació.
Sintaxi:
Exemple:
if (copy("example.txt", "example_copy.txt")) { echo "Fitxer copiat amb èxit."; } else { echo "No s'ha pogut copiar el fitxer."; }
rename()
rename()
La funció rename()
s'utilitza per canviar el nom d'un fitxer o moure'l a una nova ubicació.
Sintaxi:
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
- Crea un fitxer anomenat
data.txt
i escriu-hi el text "Aquest és un fitxer de prova". - 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
- Copia el fitxer
data.txt
adata_copy.txt
. - 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
- 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ó