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函数 serialize()和unserialize()
Feb 04 PHP
WordPress中is_singular()函数简介
Feb 05 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
Apr 02 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
PHP身份证校验码计算方法
Aug 10 PHP
php 多文件上传的实现实例
Oct 23 PHP
详解php框架Yaf路由重写
Jun 20 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 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语法速查表
2006/12/06 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
urllib2自定义opener详解
2014/02/07 Python
python文件与目录操作实例详解
2016/02/22 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python实现弹球小游戏
2020/08/01 Python
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
阿波罗盒子:Apollo Box
2017/08/14 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
机械工程及自动化专业求职信
2014/09/03 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
稽核岗位职责范本
2015/04/13 职场文书
早会开场白台词大全
2015/06/01 职场文书
小学英语教学反思范文
2016/02/15 职场文书
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server