在php的开发中我们要包含某个文件通常的代码是这样的:
复制代码代码如下:
<?php if(is_file($fileName)) require $flleName;
在windows,linux下运行都没有问问题: 假设现在要包含一个 D:/web/webServer/A.php文件
在传值的时误传了D:/web/webServer/a.php 在windows下运行时也会把D:/web/webServer/A.php包含进来,因为windows是不区分大小的,放在linux下就会报错了
那如做到在windows加载也能区分大小写呢?代码如下:
代码如下:
if(is_file($fileName)){ //PHP_OS 当前运行的操作系统 if(strstr(PHP_OS,'WIN')){ //realpath($fileName) 会转换文件名的大小写 /web/A.php 如果A.php不存在而a.php则会返回/web/a.php if(basename(realpath($fileName)) == basename($fileName)) require $fileName; else echo '请检查文件的大小写'; }else require $fileName; }