PHP取得目前執行php檔名的程式碼範例

黄舟
發布: 2023-03-06 10:48:01
原創
1706 人瀏覽過

這篇文章主要介紹了PHP取得目前執行php檔名的程式碼,需要的朋友可以參考下

今天寫表白牆時候的導航判斷遇到的這個問題。我的解決想法是這樣:

判斷目前的php檔名來決定導航條的哪塊高亮。
那php如何取得目前的url檔名呢?
我是這樣處理的:shock:

教學

#首先肯定是要取得目前頁面URL的,在這裡我們使用php的$ _SERVER['PHP_SELF']來取得網頁位址
假設url為http://www.php.cn/

$php_Self= $_SERVER['PHP_SELF']; //获取网页地址
//输出结果:http://www.php.cn/
登入後複製

##輸出後發現,我們只要index.php,前面一大串東西都是沒用的。

怎麼辦呢?
這裡我們就用到substr()函數了。

substr() 是用來傳回字串的一部份:

substr語法substr(string,start,length)


參數描述#stringstart必要。規定在字串的何處開始。 #length#可選。規定被傳回字串的長度。預設是直到字串的結尾。 看到這個函數的第二個參數,規定在字串的何處開始。很顯然是在url中的最後一個/開始才是我們所需要的。
##必要。規定要傳回其中一部分的字串。

    正數– 在字串的指定位置開始
  • #負數– 在從字串結尾開始的指定位置開始
  • 0 – 在字串中的第一個字元開始

    正數– 從 start 參數所在的位置回傳的長度
  • 負數– 從字串末端回傳的長度
所以我們又需要用到

strrpos()
函數來取得/最後一次出現的位置。

strrpos語法

strrpos(string,find,start)

#參數stringfindstart所以總程式碼如下:
描述
必要。規定被搜尋的字串。
必要。規定要找的字元。
可選。規定在何處開始搜索。

$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;
}
登入後複製

這樣就解決了,很多情況下都是需要一些字串截取函數的幫助才可以得到我們想要的結果。


 以上就是PHP取得目前執行php檔名的程式碼範例的內容,更多相關內容請關注PHP中文網(www.php.cn)!


#

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!