Oui c'était la variable $IdVO qui n'était pas correctement concaténée.donc c'est le preg match qui en cause...
Mais au passage j'ai voulu vous montrer une autre méthode plus rapide à écrire. Cela évite la litanie des "opendir", "readdir" et "closedir".
Après que tu fasse une boucle avec un while ou un foreach, ben ça reste une boucle. Et puis le foreach il faudra bien t'y mettre avec php car c'est le moyen le plus simple de lister un tableau