En aquest tema, aprendrem a treballar amb directoris en PHP. Les funcions de directori ens permeten crear, llegir, actualitzar i eliminar directoris, així com llistar-ne el contingut. Aquestes operacions són essencials per a la gestió de fitxers i directoris en aplicacions web.
Objectius
- Entendre com obrir i tancar directoris.
- Aprendre a llistar el contingut d'un directori.
- Saber com crear i eliminar directoris.
- Gestionar permisos de directoris.
- Obrir i Tancar Directoris
opendir()
La funció opendir() s'utilitza per obrir un directori i obtenir un identificador de directori.
<?php
$dir = "ruta/al/teu/directori";
if ($dh = opendir($dir)) {
echo "Directori obert correctament.";
closedir($dh);
} else {
echo "No s'ha pogut obrir el directori.";
}
?>closedir()
La funció closedir() tanca un directori obert amb opendir().
<?php
$dir = "ruta/al/teu/directori";
if ($dh = opendir($dir)) {
// Operacions amb el directori
closedir($dh);
}
?>
- Llistar el Contingut d'un Directori
readdir()
La funció readdir() llegeix una entrada d'un directori obert.
<?php
$dir = "ruta/al/teu/directori";
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "Nom del fitxer: $file<br>";
}
closedir($dh);
}
?>scandir()
La funció scandir() llista tots els fitxers i directoris dins d'un directori.
<?php
$dir = "ruta/al/teu/directori";
$files = scandir($dir);
foreach ($files as $file) {
echo "Nom del fitxer: $file<br>";
}
?>
- Crear i Eliminar Directoris
mkdir()
La funció mkdir() crea un nou directori.
<?php
$dir = "ruta/al/teu/nou_directori";
if (mkdir($dir)) {
echo "Directori creat correctament.";
} else {
echo "No s'ha pogut crear el directori.";
}
?>rmdir()
La funció rmdir() elimina un directori buit.
<?php
$dir = "ruta/al/teu/directori";
if (rmdir($dir)) {
echo "Directori eliminat correctament.";
} else {
echo "No s'ha pogut eliminar el directori.";
}
?>
- Gestionar Permisos de Directoris
chmod()
La funció chmod() canvia els permisos d'un fitxer o directori.
<?php
$dir = "ruta/al/teu/directori";
if (chmod($dir, 0755)) {
echo "Permisos canviats correctament.";
} else {
echo "No s'han pogut canviar els permisos.";
}
?>Exercicis Pràctics
Exercici 1: Llistar el Contingut d'un Directori
Escriu un script PHP que llisti tots els fitxers i subdirectoris dins d'un directori especificat.
Solució:
<?php
$dir = "ruta/al/teu/directori";
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "Nom del fitxer: $file<br>";
}
closedir($dh);
} else {
echo "No s'ha pogut obrir el directori.";
}
?>Exercici 2: Crear un Directori i Canviar-ne els Permisos
Escriu un script PHP que creï un nou directori i canviï els seus permisos a 0755.
Solució:
<?php
$dir = "ruta/al/teu/nou_directori";
if (mkdir($dir)) {
echo "Directori creat correctament.<br>";
if (chmod($dir, 0755)) {
echo "Permisos canviats correctament.";
} else {
echo "No s'han pogut canviar els permisos.";
}
} else {
echo "No s'ha pogut crear el directori.";
}
?>Conclusió
En aquesta secció, hem après a treballar amb funcions de directori en PHP. Hem vist com obrir i tancar directoris, llistar-ne el contingut, crear i eliminar directoris, i gestionar-ne els permisos. Aquestes habilitats són fonamentals per a la gestió de fitxers i directoris en aplicacions web.
En el següent mòdul, explorarem la Programació Orientada a Objectes (OOP) en PHP, que ens permetrà escriure codi més organitzat i reutilitzable.
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ó
