[SPIP Zone] [spip-dev] preg_files & $recurs

Franck Ducas a écrit :

Bonjour,

Je souhaite utiliser l'argument "false" pour preg_files() afin de ne pas revenir à la racine et de m'arrêter au dossier en cours. J'ai essayé ça :

je comprends pas "ne pas revenir a la racine" ?
preg_files parcourt uniquement les sous-repertoires du repertoire initial

preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$",'',false);
preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$",10000,false);
preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$",false);
preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$",10000,$recurs=false);
preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$",'',$recurs=false);
preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$",$recurs=false);

Aucun ne fonctionne (resultat nul).

Quelqu'un pourrait-il me dire quelle est la syntaxe exacte ?

Je suis sous la SVN 7444.

J'ai lu le commentaire du code (dans inc/flock.php). J'ai retrouvé le commentaire de Cédric de la SVN 7377 :

« preg_files devient optionellement non recursif avec false en 4 eme argument une fonction find_all_in_path qui retrouve l'occurence utilisee par find_in_path d'un type de fichier (defini par un $pattern) dans un sous repertoire eventuel du chemin »

Si je commente les lignes 218 et 219 du fichier ecrire/inc/flock.php[*], la récursivité ne se fait effectivement pas (résultat recherché). Si je colle ce fichier flock.php dans "plugins/MonPlugin/inc/", la récursivité se fait à nouveau.

J'ai mal compris quelque chose ?

inc/flock fait partie des 2 ou 3 fichiers non surchargeable

Cedric

cedric.morin@yterium.com a écrit :

Franck Ducas a écrit :

Bonjour,

Je souhaite utiliser l'argument "false" pour preg_files() afin de ne pas revenir à la racine et de m'arrêter au dossier en cours. J'ai essayé ça :

je comprends pas "ne pas revenir a la racine" ?
preg_files parcourt uniquement les sous-repertoires du repertoire initial

preg_files(_DIR_PLUGINS.$dossier_encours,"/plugin[.]xml$");

Me renvoyait tous les sous répertoires de "$dossier_encours" et de _DIR_PLUGINS qui contenaient un fichier plugin.xml.
Mais j'ai du cafouiller quelque part...

inc/flock fait partie des 2 ou 3 fichiers non surchargeable

Il n'y a pas à dire, j'ai un de ces bols :slight_smile:

C'est pas grave, je m'en suis sorti en reproduisant la fonction preg_files(), en la renommant et en virant les lignes qui produisent le résultat non voulu.

Merci.