《PHP實戰:PHP獲取當前執行php文件名的代碼》要點:
本文介紹了PHP實戰:PHP獲取當前執行php文件名的代碼,希望對您有用。如果有疑問,可以聯系我們。
今天寫表白墻時候的導航判斷遇到的這個問題.我的解決思路是這樣:PHP實戰
判斷當前的php文件名來確定導航條的哪塊高亮.
那php如何獲取當前的url文件名呢?
我是這樣處理的 :shock:PHP實戰
教程PHP實戰
首先肯定是要獲取當前頁面URL的,在這里我們使用php的$_SERVER['PHP_SELF']
來獲取獲取網頁地址
假設url為 /index.phpPHP實戰
$php_Self= $_SERVER['PHP_SELF']; //獲取網頁地址 //輸出結果:/index.php
輸出后發現,我們只需要index.php,前面一大串東西都是沒用的.
怎么辦呢?
這里我們就用到了substr()函數.substr()
是用來返回字符串的一部分:PHP實戰
substr語法
substr(string,start,length)PHP實戰
參數 | 描述 |
---|---|
string | 必需.規定要返回其中一部分的字符串. |
start |
必需.規定在字符串的何處開始.PHP實戰
|
length |
可選.規定被返回字符串的長度.默認是直到字符串的結尾.PHP實戰
|
看到這個函數的第二個參數,規定在字符串的何處開始.很顯然是在url中的最后一個/開始才是我們所需要的.
于是我們又需要用到 strrpos()
函數來取得/最后一次出現的位置.PHP實戰
strrpos語法PHP實戰
strrpos(string,find,start)PHP實戰
參數 | 描述 |
---|---|
string | 必需.規定被搜索的字符串. |
find | 必需.規定要查找的字符. |
start | 可選.規定在何處開始搜索. |
所以總代碼如下:PHP實戰
$php_Self = substr($_SERVER['PHP_SELF'],strripos($_SERVER['PHP_SELF'],"/")+1); //為啥要加1呢?因為要排除前面的那個 /
比較推薦的一個函數PHP實戰
//獲得當前的腳本網址 function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; } else { $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING"])) { $nowurl = $scriptName; } else { $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; } } return $nowurl; }
如果感覺上面的文章不夠細,建議大家看這篇文章:/article/22056.htmPHP實戰
這樣就解決了,很多情況下都是需要一些字符串截取函數的幫助才可以得到我們想要的結果.PHP實戰