PHP5 : read_dir_recursive() et rm_dir_recursive()

11-06-2014
Laurent Bientz

2 fonctions valent mieux qu'un long discours !

read_dir

public static function read_dir_recursive($path, $extensions=array("js", "css")
{
||t||if (!is_dir($path))
||t||||t||return false;
||t||||t||
||t||return glob($path.'/*.{'.implode(",",$extensions).'}', GLOB_BRACE);
}

rm_dir

public static function rm_dir_recursive($path)
{
||t||if (!file_exists($path))
    ||t||return false;

||t||return is_file($path) ?
||t||||t||||t||||t||@unlink($path) :
||t||||t||||t||||t||array_map(array('YOUR_CLASS', 'rm_dir_recursive'), glob($path.'/*', GLOB_BRACE)) == @rmdir($path);
}

 

Yossef - 2014-06-13 07:55:31
Bonjour,

ou est la recurcivité dans read_dir_recursive() ?
Laurent Bientz - 2014-06-13 09:24:53
Hello,

Il n'y a pas de récursion à proprement parler (à savoir appel de la méthode par elle même) mais glob() liste déjà récursivement le répertoire et sous-répertoires de ce dernier récursivement, d'où le nom ;)

De plus, cette fonction php est méconnue et beaucoup de gens sont obligés de faire ce traitement à base de open_dir et read_dir récursifs, d'où le nom également afin d'orienter leurs recherches.

Apporter votre contribution

Expérience utilisateur

Wandi vous propose de découvrir une nouvelle approche de la navigation sur un site web...
Êtes-vous prêt ?

Démarrer l'expérience