Это не до PHP. Это зависит от операционной системы и файловой системы, на которой работает PHP. Windows нечувствительна к регистру, но каждая версия Unix / Linux чувствительна к регистру.
Позвольте мне сказать это по-другому: is_dir()
по сути является оберткой для системного вызова или использует результаты системных вызовов для информации о файле. Эти системные вызовы будут либо возвращать что-то, либо нет, если по правилам этой операционной системы и файловой системы найден файл с соответствующим именем. PHP не может изменить это, поэтому вы не можете просто сделать is_dir()
нечувствительным к регистру в Linux.
Лучшее, что вы можете сделать, - это получить список файлов в каталоге и просмотреть их, чтобы проверить, не совпадают ли какие-либо из них без учета регистра.
Примечание: вы можете получить несколько попаданий, например, "HOME" и "Home" будут совпадать с "home". Что будет делать такая функция (которую вы хотите) в этом случае?
В качестве альтернативы вы можете изменить все имена файлов на строчные, а затем использовать строчную версию ввода для поиска указанного файла.