Во-первых, 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 не чувствителен к регистру, поэтому «ФАЙЛ» и «файл» – это два имени для одного и того же файла.