如何使php中的is_dir($ FoLdEr)不区分大小写?

Joh*_*han 1 php case-insensitive

我不需要is_dir()关心文件夹或参数是大写还是小写,还是上下混合.

因此,如果foldername是"我的文件夹",我运行is_dir("mY FoLdEr")结果应该是true.

cle*_*tus 7

这不取决于PHP.这取决于PHP运行的操作系统和文件系统.Windows不区分大小写,但每个版本的Unix/Linux都区分大小写.

让我换一种说法:is_dir()基本上是系统调用的包装器,或者它将使用文件信息的系统调用结果.如果通过操作系统和文件系统的规则找到具有匹配名称的文件,那些系统调用将返回或不返回.PHP无法改变这一点,所以不能让你is_dir()在Linux上不区分大小写.

您可以做的最好的事情是获取目录中的文件列表并循环浏览它们以测试是否有任何匹配与您要查找的内容不区分大小写.

注意:您可能会获得多次点击,例如"HOME"和"Home"都会匹配"home".在这种情况下,这样的功能(你想要的)会做什么?

或者,您可以将所有文件名更改为小写,然后您可以使用输入的小写版本来查找指定的文件.