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编程与应用
Oct 09 PHP
mysql 全文搜索 技巧
Apr 27 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP5 的对象赋值机制介绍
Aug 02 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
php使用sql数据库 获取字段问题介绍
Aug 12 PHP
php生成excel文件的简单方法
Feb 08 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 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与MySQL交互使用详解
2006/10/09 PHP
php中看实例学正则表达式
2006/12/25 PHP
珊瑚虫IP库浅析
2007/02/15 PHP
php Mysql日期和时间函数集合
2007/11/16 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
封装的原生javascript弹出层代码
2010/09/24 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
jquery中常用的函数和属性详细解析
2014/03/07 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
python写的一个文本编辑器
2014/01/23 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
python调用java的jar包方法
2018/12/15 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
使用K.function()调试keras操作
2020/06/17 Python
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
实习生体会的自我评价范文
2013/11/28 职场文书
学校志愿者活动总结
2014/06/27 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android