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.

  1. 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);
}
?>

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

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

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

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