Replace is_dir() with SplFileInfo::isDir() to avoid segfaults