Tout d'abord, il ne faut pas s'étonner de ne pas voir de message d'erreur si tu ne testes pas le retour de tes fonctions
Je te conseille la lecture de la documentation de chaque fonction que tu souhaites utiliser pour comprendre leur fonctionnement et spécialité
readdir : http://php.net/manual/fr/function.readdir.php
ton code corrigé :
<?php
if($handler = opendir('./Services')) {
while(FALSE !== ($file = readdir($handler)))
{
if(!in_array(substr($file, 0, 1), array('.', '_')) && is_dir($file)) {
echo "\n<tr><td><a href='?page=$file'>$file</a></td></tr>";
}
}
}
?>