php 有辦法知道路徑嗎?

我能用 $_SERVER['HTTP_HOST'] 知道目前的網址
也能用 $_SERVER['PHP_SELF'] 知道現在在瀏覽哪個文件
例如我在 index.php
他就會顯示 /index.php
如果我在 admin/index.php
他就會顯示 /admin/index.php
我想要實現的是

只要當路徑有 /admin/ 的時候,就執行某個 script
但,如何判斷現在是否正在 /admin/*.php 底下瀏覽?
要怎麼抓到 /admin/ 呢?不判斷是哪個 .php,只要判斷它前面的文件名稱

PS我有想過用 basename(__FILE__) 系列,但我本端是一個位置,服務器端又是另一種位置,這樣我要多幾行判斷,不好用。_SERVER 最單純,直接略過root根目錄,但是它卻沒有只抓文件夾的功能....

慕桂英3389331
浏览 383回答 2
2回答

一只名叫tom的猫

为什么不用字符匹配,或者用正则匹配呢 if(preg_match('#/admin/#',$_SERVER['SCRIPT_NAME'])) { echo 'admin'; }

12345678_0001

如果是跳转指定php文件,参考nginx redirect 配置。如果是想在请求的php文件执行前或执行后执行特定的函数,则在入口或结束前匹配url
打开App,查看更多内容
随时随地看视频慕课网APP