чувствительность к регистру на Mac для file_exists ()?

Во-первых, Mac OS X не является моей родной операционной системой, но, поскольку мне удобно в Ubuntu, это был простой переход по большей части.

Будучи тем, что он основан на Unix, у меня было такое впечатление, что этот os был чувствителен к регистру, но file_exists() говорит иначе.

В моем файле htdocs у меня есть эти 2 файла:

test.php

MyFiLeWiThMiXeDCaSe.php

В test.php у меня есть этот код:

 if(file_exists('myfilewithmixedcase.php')) { echo 'exists'; } else { echo 'doesnt exist'; } // ouputs: exists 

Кто-нибудь знает, как / почему это происходит? Это вызывает проблему, потому что, когда мы развертываем такой код в ОС Linux, file_exists() возвращает false.

BTW: Я использую MAMP PRO в качестве локального веб-сервера.

Несмотря на то, что BSD производная OS X не чувствительна к регистру. Или, скорее, файловые системы HFs и HFS +, если вы не выбрали параметр, чувствительный к регистру, при форматировании вашего диска. Обычно это не делается, потому что у многих приложений есть проблемы с этим (Adobe, MS и т. Д.) – или, по крайней мере, они сделали последний раз, когда я попробовал его под Tiger.

Файловая система по умолчанию на OS X нечувствительна к регистру HFS +.

Вы можете отформатировать том как HFS + с учетом регистра, и есть (грязные) способы обеспечения чувствительности к регистру для существующих томов. Но это нарушит существующее программное обеспечение, и вам следует избегать чувствительности к регистру на вашем корневом томе.

Если по какой-то причине вам нужна файловая система с учетом регистра (например, для ее установки требуется Android), вы можете сделать образ диска с соответствующим образом отформатированным диском с помощью Disk Utility.

Обратите внимание, что UNIX-основа OS X будет работать отлично с файловой системой, чувствительной к регистру.

По умолчанию Mac OS X не чувствителен к регистру, поэтому «ФАЙЛ» и «файл» – это два имени для одного и того же файла.