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 相关文章推荐
zf框架的Filter过滤器使用示例
Mar 13 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
PHP处理postfix邮件内容的方法
Jun 16 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
Mar 08 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
PHP中list方法用法示例
Dec 01 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
Mar 23 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中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
PHP解析RSS的方法
2015/03/05 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
js 数组操作代码集锦
2009/04/28 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
python简单分割文件的方法
2015/07/30 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
解决python运行效率不高的问题
2020/07/20 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
应届生求职信
2014/05/31 职场文书
民事上诉状范文
2015/05/22 职场文书
寒假生活随笔
2015/08/15 职场文书