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.

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