PHP获取当前执行php文件名的代码


Posted in PHP onMarch 02, 2017

今天写表白墙时候的导航判断遇到的这个问题。我的解决思路是这样:

判断当前的php文件名来确定导航条的哪块高亮。
那php如何获取当前的url文件名呢?
我是这样处理的 :shock:

教程

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

$php_Self= $_SERVER['PHP_SELF']; //获取网页地址
//输出结果:https://3water.com/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;
}

如果感觉上面的文章不够细,建议大家看这篇文章:https://3water.com/article/22056.htm

这样就解决了,很多情况下都是需要一些字符串截取函数的帮助才可以得到我们想要的结果。

PHP 相关文章推荐
php win下Socket方式发邮件类
Aug 21 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP的范围解析操作符(::)的含义分析说明
Jul 03 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
利用PHP绘图函数实现简单验证码功能的方法
Oct 18 PHP
php array_values 返回数组的值实例详解
Nov 17 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 PHP
PHP的PDO连接讲解
Jan 24 PHP
PHP两种实现无级递归分类的方法
Mar 02 #PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 #PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 #PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 #PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 #PHP
根据key删除数组中指定的元素实现方法
Mar 02 #PHP
如何用PHP做到页面注册审核
Mar 02 #PHP
You might like
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
Symfony的安装和配置方法
2016/03/17 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
php实现登录页面的简单实例
2019/09/29 PHP
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
JS之相等操作符详解
2016/09/13 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Python中的ConfigParser模块使用详解
2015/05/04 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
浅谈Python爬虫基本套路
2019/03/25 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
python tornado修改log输出方式
2019/11/18 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
总经理岗位职责描述
2014/02/08 职场文书
心理健康活动总结
2014/04/30 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
离婚财产处理协议书
2014/09/30 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
教师见习总结范文
2015/06/23 职场文书
社会实践心得体会范文
2016/01/14 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
python 中yaml文件用法大全
2021/07/04 Python
Python读取和写入Excel数据
2022/04/20 Python
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android