PHP大小写不敏感的file_exists()版本

我正在尝试考虑在PHP中实现不区分大小写的file_exists函数的最快方法。我最好的选择是枚举目录中的文件,并进行strtolower()与strtolower()的比较直到找到匹配项?

回答:

我使用注释中的源代码来创建此功能。返回完整路径文件(如果找到),否则返回FALSE。

在文件名中的目录名称上不区分大小写。

function fileExists($fileName, $caseSensitive = true) {

if(file_exists($fileName)) {

return $fileName;

}

if($caseSensitive) return false;

// Handle case insensitive requests

$directoryName = dirname($fileName);

$fileArray = glob($directoryName . '/*', GLOB_NOSORT);

$fileNameLowerCase = strtolower($fileName);

foreach($fileArray as $file) {

if(strtolower($file) == $fileNameLowerCase) {

return $file;

}

}

return false;

}

以上是 PHP大小写不敏感的file_exists()版本 的全部内容, 来源链接: utcz.com/qa/427913.html

回到顶部