在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;
}
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn