Carnet Wiki

Iterateurs_Glob

Version 3 — Mars 2012 YannX

Parmi les nouveaux itérateurs développés par Fil et Marcimat, l’un des plus particuliers concerne l’accès aux fichiers systèmes de fichiers : autrefois réservé aux programmeurs PHP, la nouvelle syntaxe permet d’envisager en SPIP de très nombreux usages.

Pour la documentation initiale, on s’appuie sur les articles de base publiés par les auteurs :
-  l’ annonce
et les
exemples avant de recharger le plugin iterateurs de _fil et mm !

La structure de la boucle itérateur (sur la pseudo-table symbolique DATA) nécessite un critère spécifique {source

  format .
, .données

} avec deux arguments, dont le premier sera dans notre cas l’un des mots-clés glob ou globpregfiles, par référence aux fonctions éponymes de parcours de dossiers, l’argument suivant précisant le masque de fichiers utilisé.

Le format de fonction mot-clé glob est le plus simple : il utilise le masque d’expansion de noms générique dans les shells *nix pour parcourir les fichiers d’un répertoire !

La chaine donnée en second paramètre spécifie donc un masque de répertoire à utiliser (indiqué ’brut’ donc sans devoir être mis entre guillements ou quotes.

Le masque de fichier indiqué peut être exprimé en absolu ou relatif à l’exécution dans le dossier racine du site SPIP : l’exemple de référence montre le positionnement du chemin relatif du répertoire IMG des images jointes en standard.

<BOUCLE_ls2(DATA){source glob, IMG/{??g/,}*.??g}>
	<li>[(#VAL{Y-m-d H:i:s}|date{#VALEUR|filemtime})] / #VALEUR</li>
</BOUCLE_ls2>