1 回答

TA貢獻1784條經驗 獲得超9個贊
這是因為你的$_SERVER['SCRIPT_NAME']意志是這樣的:/services/page1.php并且它當然與 不同/services/。你想要做的是檢查是否$_SERVER['SCRIPT_NAME']以開頭/services/,你可以用 strpos https://www.php.net/manual/en/function.strpos.php來做到這一點。
var_dump($_SERVER['SCRIPT_NAME']); // string(15) "/services/a.php"
var_dump($_SERVER['SCRIPT_NAME'] == "/services/"); // bool(false)
var_dump(strpos($_SERVER['SCRIPT_NAME'], "/services/") === 0); // bool(true)
如果您想要目錄,也可以使用目錄名https://www.php.net/manual/en/function.dirname.php。因此,$_SERVER['SCRIPT_NAME']用 dirname 包裹起來,您將獲得目錄,并且可以與以下內容進行比較/services:
var_dump(dirname($_SERVER['SCRIPT_NAME'])); // string(9) "/services"
var_dump(dirname($_SERVER['SCRIPT_NAME']) === '/services'); // bool(true)
- 1 回答
- 0 關注
- 121 瀏覽
添加回答
舉報