Необходимо добавить префикс имени каталога к имени файла, так как is_dir
работает относительно текущего каталога.
Изменение
echo $file . '(' . is_dir($file) . ')<br>';
до
echo $file . '(' . is_dir("$styles_dir/$file") . ')<br>';
В качестве альтернативы вы можете изменить каталог на $styles_dir
, используя chdir , и тогда ваш текущий код будет работать.