MorFans Dev
折腾 - 开发 - 分享

PHP如何获取当前执行的php文件名

PHP如何获取当前执行的php文件名

今天写表白墙时候的导航判断遇到的这个问题。我的解决思路是这样:
判断当前的php文件名来确定导航条的哪块高亮。
那php如何获取当前的url文件名呢?
我是这样处理的 😯

教程

首先肯定是要获取当前页面URL的,在这里我们使用php的$_SERVER['PHP_SELF']来获取获取网页地址
假设url为 https://morfans.cn/love/index.php

$php_Self= $_SERVER['PHP_SELF']; //获取网页地址
//输出结果:https://morfans.cn/love/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呢?因为要排除前面的那个 / 
赞赏
魔帆博客,版权所有 | 如未注明,均为原创
本站均采用 BY-NC-ND 协议 (署名-非商业性使用-禁止演绎) 进行授权。
转载请注明来自本站文章:PHP如何获取当前执行的php文件名(https://www.morfans.cn/archives/2285)

野小新

文章作者

野小新很野~

发表回复

textsms
account_circle
email

  • 九州套图

    又是一年,祝博主要啥有啥想啥来啥总之不缺啥!

    7年前 回复

PHP如何获取当前执行的php文件名
今天写表白墙时候的导航判断遇到的这个问题。我的解决思路是这样: 判断当前的php文件名来确定导航条的哪块高亮。 那php如何获取当前的url文件名呢? 我是这样处理的 :shock: 教程 …
扫描二维码继续阅读
2017-01-29