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入门学习的几个不错的实例代码
Jul 13 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
Jul 23 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
php7 图形用户界面GUI 开发示例
Feb 22 PHP
KindEditor在php环境下上传图片功能集成的方法示例
Jul 20 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/05 PHP
FleaPHP的安全设置方法
2008/09/15 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
javascript 函数调用规则
2009/08/26 Javascript
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
人事专员职责
2014/02/22 职场文书
门前三包责任书
2014/04/15 职场文书
授权委托书怎么写
2014/09/25 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
运动会报道稿大全
2015/07/23 职场文书
思想工作总结范文
2015/08/12 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Vue图片裁剪组件实例代码
2021/07/02 Vue.js