PHP获取当前执行php文件名的代码
2017-03-02 16:49
549 查看
今天写表白墙时候的导航判断遇到的这个问题。我的解决思路是这样:
判断当前的php文件名来确定导航条的哪块高亮。
那php如何获取当前的url文件名呢?
我是这样处理的 :shock:
教程
首先肯定是要获取当前页面URL的,在这里我们使用php的
$_SERVER['PHP_SELF']来获取获取网页地址
假设url为 //www.jb51.net/index.php
$php_Self= $_SERVER['PHP_SELF']; //获取网页地址 //输出结果://www.jb51.net/index.php
输出后发现,我们只需要index.php,前面一大串东西都是没用的。
怎么办呢?
这里我们就用到了substr()函数。
substr()是用来返回字符串的一部分:
substr语法
substr(string,start,length)
参数 | 描述 |
---|---|
string | 必需。规定要返回其中一部分的字符串。 |
start |
必需。规定在字符串的何处开始。
|
length |
可选。规定被返回字符串的长度。默认是直到字符串的结尾。
|
看到这个函数的第二个参数,规定在字符串的何处开始。很显然是在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; }
如果感觉上面的文章不够细,建议大家看这篇文章:https://www.jb51.nethttps://www.geek-share.com/detail/2476558419.html
这样就解决了,很多情况下都是需要一些字符串截取函数的帮助才可以得到我们想要的结果。
您可能感兴趣的文章:
相关文章推荐
- c#获取当前代码运行的文件名、运行的函数名以及当前代码执行的行号
- C#中获取当前执行的函数名、代码行、源码文件名
- go实用小技能(二)-获取当前执行程序的文件名和代码所在行号
- 在浏览器中获取当前执行的脚本文件名的代码
- 在浏览器中获取当前执行的脚本文件名的代码
- 用GetModuleFileName获取程序当前执行文件名
- asp获取当前文件名的代码
- Framework C#获得当前执行的函数名、当前代码行、源代码文件名
- C# 里怎样得到当前执行的函数名,当前代码行,源代码文件名
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
- 用GetModuleFileName获取程序当前执行文件名
- php 获取当前访问的url文件名的方法小结
- Linux下如何获取当前可执行文件的文件名
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
- Linux下如何获取当前可执行文件的文件名
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
- C# 里怎样得到当前执行的函数名,当前代码行,源代码文件名
- C# 里怎样得到当前执行的函数名,当前代码行,源代码文件名。
- 如何在Java中获取当前代码行行号和文件名(__FILE__, __LINE__)
- C# 里怎样得到当前执行的函数名,当前代码行,源代码文件名