在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;
}