PHP獲取當前執(zhí)行php文件名的代碼
今天寫表白墻時候的導航判斷遇到的這個問題。我的解決思路是這樣:
判斷當前的php文件名來確定導航條的哪塊高亮。
那php如何獲取當前的url文件名呢?
我是這樣處理的 :shock:
教程
首先肯定是要獲取當前頁面URL的,在這里我們使用php的$_SERVER['PHP_SELF']來獲取獲取網頁地址
假設url為 http://www.dhdzp.com/index.php
$php_Self= $_SERVER['PHP_SELF']; //獲取網頁地址 //輸出結果:http://www.dhdzp.com/index.php
輸出后發(fā)現,我們只需要index.php,前面一大串東西都是沒用的。
怎么辦呢?
這里我們就用到了substr()函數。
substr() 是用來返回字符串的一部分:
substr語法
substr(string,start,length)
| 參數 | 描述 |
|---|---|
| string | 必需。規(guī)定要返回其中一部分的字符串。 |
| start |
必需。規(guī)定在字符串的何處開始。
|
| length |
可選。規(guī)定被返回字符串的長度。默認是直到字符串的結尾。
|
看到這個函數的第二個參數,規(guī)定在字符串的何處開始。很顯然是在url中的最后一個/開始才是我們所需要的。
于是我們又需要用到 strrpos()函數來取得/最后一次出現的位置。
strrpos語法
strrpos(string,find,start)
| 參數 | 描述 |
|---|---|
| string | 必需。規(guī)定被搜索的字符串。 |
| find | 必需。規(guī)定要查找的字符。 |
| start | 可選。規(guī)定在何處開始搜索。 |
所以總代碼如下:
$php_Self = substr($_SERVER['PHP_SELF'],strripos($_SERVER['PHP_SELF'],"/")+1); //為啥要加1呢?因為要排除前面的那個 /
比較推薦的一個函數
//獲得當前的腳本網址
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;
}
如果感覺上面的文章不夠細,建議大家看這篇文章:http://www.dhdzp.com/article/22056.htm
這樣就解決了,很多情況下都是需要一些字符串截取函數的幫助才可以得到我們想要的結果。
相關文章
用PHP將Unicode 轉化為UTF-8的實現方法(推薦)
下面小編就為大家?guī)硪黄肞HP將Unicode 轉化為UTF-8的實現方法(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02

