php 获取当前目录名称,PHP获取当前执行php文件名的代码
今天寫表白墻時候的導航判斷遇到的這個問題。我的解決思路是這樣:
判斷當前的php文件名來確定導航條的哪塊高亮。
那php如何獲取當前的url文件名呢?
我是這樣處理的 :shock:
教程
首先肯定是要獲取當前頁面URL的,在這里我們使用php的$_SERVER['PHP_SELF']來獲取獲取網頁地址
假設url為 https://www.jb51.net/index.php
$php_Self= $_SERVER['PHP_SELF']; //獲取網頁地址
//輸出結果:https://www.jb51.net/index.php
輸出后發現,我們只需要index.php,前面一大串東西都是沒用的。
怎么辦呢?
這里我們就用到了substr()函數。
substr()是用來返回字符串的一部分:
substr語法
substr(string,start,length)
參數
描述
string
必需。規定要返回其中一部分的字符串。
start
必需。規定在字符串的何處開始。
正數 – 在字符串的指定位置開始
負數 – 在從字符串結尾開始的指定位置開始
0 – 在字符串中的第一個字符處開始
length
可選。規定被返回字符串的長度。默認是直到字符串的結尾。
正數 – 從?start?參數所在的位置返回的長度
負數 – 從字符串末端返回的長度
看到這個函數的第二個參數,規定在字符串的何處開始。很顯然是在url中的最后一個/開始才是我們所需要的。
于是我們又需要用到strrpos()函數來取得/最后一次出現的位置。
strrpos語法
strrpos(string,find,start)
參數
描述
string
必需。規定被搜索的字符串。
find
必需。規定要查找的字符。
start
可選。規定在何處開始搜索。
所以總代碼如下:
$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文件名的代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀如何修改实名认证
- 下一篇: 世界上最贵的球鞋排行第一(最贵的球鞋价值