Temma, в файловой системе нет директорий и файлов, есть только файлы, file_exists() проверяет наличие файлов файловой системы, нельзя с её помощью проверить файл или каталог пользователя для этого есть is_file() и is_dir()
если у тебя есть директория dir.php, то file_exists($a = '
Temma, не надо ничего ломать: нужно просто понять, что file_exists() не проверяет наличие файла, как ты это понимаешь, для неё и файл и директория - это одно и то же, чтобы проверить наличие именно файла, то нужно применять is_file()