Skip to content
Extraits de code Groupes Projets
Valider 24faac75 rédigé par Fil's avatar Fil
Parcourir les fichiers

preg_files doit savoir gerer les liens symboliques recursifs

parent d8c8dcc4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -193,7 +193,7 @@ function creer_repertoire($base, $subdir) { ...@@ -193,7 +193,7 @@ function creer_repertoire($base, $subdir) {
// si $dir = 'rep/sous_rep_' au lieu de 'rep/sous_rep/' on scanne 'rep/' et on // si $dir = 'rep/sous_rep_' au lieu de 'rep/sous_rep/' on scanne 'rep/' et on
// applique un pattern '^rep/sous_rep_' // applique un pattern '^rep/sous_rep_'
// //
function preg_files($dir, $pattern=-1 /* AUTO */ ) { function preg_files($dir, $pattern=-1 /* AUTO */, $recurs=array()) {
if ($pattern == -1) if ($pattern == -1)
$pattern = "^$dir"; $pattern = "^$dir";
$fichiers = array(); $fichiers = array();
...@@ -212,9 +212,11 @@ function preg_files($dir, $pattern=-1 /* AUTO */ ) { ...@@ -212,9 +212,11 @@ function preg_files($dir, $pattern=-1 /* AUTO */ ) {
if (is_file("$dir/$f")) { if (is_file("$dir/$f")) {
if (preg_match(",$pattern,i", "$dir/$f")) if (preg_match(",$pattern,i", "$dir/$f"))
$fichiers[] = "$dir/$f"; $fichiers[] = "$dir/$f";
} else if (is_dir("$dir/$f")) { } else if (is_dir("$dir/$f")
AND !in_array(realpath("$dir/$f"), $recurs)) {
array_push($recurs, realpath("$dir/$f"));
$beginning = $fichiers; $beginning = $fichiers;
$end = preg_files("$dir/$f/", $pattern); $end = preg_files("$dir/$f/", $pattern, $recurs);
$fichiers = array_merge((array)$beginning, (array)$end); $fichiers = array_merge((array)$beginning, (array)$end);
} }
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter