我创建了一个从文件夹调用文件的函数。但问题是它不匹配案例。我的功能是
function CheckFile($var){
if($var){
$file = $_SERVER['DOCUMENT_ROOT'].'/include_folder/'.$var.'.php';
if (file_exists($file)) {
return true;
}
}
}
因此,如果文件存在,我将其包含在内。就像$ var = profile一样,它会检查profile.php的核心文件夹,如果它存在,那么它将包含它。我在调用此函数时包含文件。但问题是它不区分大小写。就像我寻找“PrOFile”然后它将包括profile.php所以如何解决这个问题?如果有人可以,请帮助我。
答案 0 :(得分:0)
在Windows上,文件名不区分大小写。这就是他们的工作方式。
所以你需要手动编写代码:
if( file_exists($file) && glob($file)[0] === $file) // assumes PHP 5.4
// older versions need a temporary variable for glob
答案 1 :(得分:0)
使用 realpath() 并根据需要转换斜线。
示例:
// Check the filename is the same (don't worry on the path)
if (file_exists($filepath) && basename(realpath($filepath)) === basename($filepath)) {
// Check the full path, converting slashes to be sure
// Assumes final path is Lunix orientated
if (file_exists($filepath) && str_replace('\\', '/', realpath($filepath)) === $filepath) {
// Check the full path, converting slashes to be sure
// Assumes final path may not be Lunix orientated
if (file_exists($filepath) && str_replace('\\', '/', realpath($filepath)) === str_replace('\\', '/', $filepath)) {