在Mac为file_exists大小写()?(case sensitivity on Mac for

2019-08-19 23:21发布

首先,Mac OS X的是不是我的原生操作系统,但因为我在Ubuntu很舒服,它已经在很大程度上轻松过渡。

在于它的基于Unix的,我的印象是这个操作系统是区分大小写下,但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作为本地Web服务器。

Answer 1:

尽管是一个BSD衍生物OS X是不区分大小写。 或者说HFS和HFS +文件系统都没有,除非你格式化你的磁盘时选择了区分大小写的选项。 这通常是没有这样做,因为许多应用程序都与此(Adobe公司,MS等)的问题 - 或者至少他们做了最后一次我尝试了下虎。



Answer 2:

在OS X上的默认文件系统是不区分大小写的HFS +。

可以格式化体积作为区分大小写的HFS +,并且有能够区分大小写为现有卷的(脏)的方式。 但是,这将打破现有的软件,你应该避免你的根卷上区分大小写。

如果你需要某种原因,区分大小写的文件系统(例如建筑的Android需要它),你可以使用磁盘工具适当格式的磁盘映像。

需要注意的是OS X的UNIX基础将工作的很好区分大小写的文件系统。



Answer 3:

默认情况下,Mac OS X中是不区分大小写,所以“文件”和“文件”两个名称相同的文件。



文章来源: case sensitivity on Mac for file_exists()?