Une solution consisterait à utiliser opendir
+ readdir
+ closedir
(citer, par exemple, à partir de la première page):
$imagesdir = $CFG->dataroot.'/1/themeimages/';
if ($handle = opendir($imagesdir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
}
Une autre solution consisterait à utiliser the [DirectoryIterator
class; citant l'exemple de] 4 la __construct
page:
$imagesdir = $CFG->dataroot.'/1/themeimages/';
$dir = new DirectoryIterator($imagesdir);
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
var_dump($fileinfo->getFilename());
}
}
Bien sûr, dans chaque cas, au lieu de simplement l'écho ou le dumping le nom du fichier, il vous faudrait le mettre dans un tableau.
Cela signifie initialisant le tableau avant que la boucle:
$list_files = array();
Et, à l'intérieur de la boucle, utilisez quelque chose comme l'une de ces deux lignes, en fonction de la solution choisie:
$list_files[] = $file;
$list_files[] = $fileinfo->getFilename();
Moodle offre une fonction de bibliothèque pour cela. Pas besoin de réinventer la roue. –