www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 04be9830b28e26748359fc4be8d3dfdac01fc989
parent 9d65c70319a98d6b3d742695af7de8db41b33c40
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Thu, 29 Jul 2010 01:11:08 +0200

Implémentation de SystèmeFichiers : ok.

Diffstat:
M__cms__/stockage/systeme-fichiers.php | 68++++++++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 40 insertions(+), 28 deletions(-)

diff --git a/__cms__/stockage/systeme-fichiers.php b/__cms__/stockage/systeme-fichiers.php @@ -1,33 +1,45 @@ <?php -function créer_dossier($chemin) { - // mkdir($chemin) -} - -/*function créer_fichier($chemin) { - // touch($chemin) -}*/ - -function supprimer($chemin, $récursif) { - // Si non récursif, supprime ssi c'est un fichier. - // Sinon, si c'est un fichier ou un lien, supprime, - // si c'est un dossier, appelle récursivement puis rmdir. -} - -function lire($chemin) { - // file_get_contents() -} - -function écrire($chemin, $données) { - // file_put_contents(); -} - -function liste_enfants($chemin) { - // Renvoie la liste des sous-fichiers et sous-dossiers. -} - -function déplacer($chemin_de, $chemin_vers) { - // mv +// NOTE : Cette abstraction a l'air assez innutile à part supprimer... + +class SystèmeFichiers { + public function créer_dossier($chemin_fs) { + mkdir($chemin_fs); + } + + /*public function créer_fichier($chemin_fs) { + // touch($chemin_fs) + }*/ + + public function supprimer($chemin_fs, $récursif) { + if (is_link($chemin_fs) || is_file($chemin_fs)) { + unlink($chemin_fs); + } else if ($récursif) { + $d = dir($chemin_fs); + while (false !== ($entrée = $d->read())) { + self::supprimer($chemin_fs . '/' . $entrée, $récursif); + } + $d->close(); + rmdir($chemin_fs); + } + } + + public function lire($chemin_fs) { + file_get_contents($chermin_fs) + } + + public function écrire($chemin_fs, $données) { + file_put_contents($chemin_fs, $données); + } + + public function liste_enfants($chemin_fs) { + return scandir($chemin_fs); + + } + + public function déplacer($chemin_fs_de, $chemin_fs_vers) { + rename($chemin_fs_de, $chemin_fs_vers); + } } ?>