php 获取当前目录名称,PHP获取当前执行php文件名的代码
今天写表白墙时候的导航判断遇到的这个问题。我的解决思路是这样:
判断当前的php文件名来确定导航条的哪块高亮。
那php如何获取当前的url文件名呢?
我是这样处理的 :shock:
教程
首先肯定是要获取当前页面URL的,在这里我们使用php的$_SERVER['PHP_SELF']来获取获取网页地址
假设url为 https://www.jb51.net/index.php
$php_Self= $_SERVER['PHP_SELF']; //获取网页地址
//输出结果:https://www.jb51.net/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;
}
这样就解决了,很多情况下都是需要一些字符串截取函数的帮助才可以得到我们想要的结果。
php 获取当前目录名称,PHP获取当前执行php文件名的代码相关推荐
- android开发 获取相册名称_Android获取手机上各个相册名称和相片的方法
下面是我用来获取相册名称以及内容的方法,比较猥琐的方法,但是也实现了功能 就是一个asyctask,将就参考参考,本人记录 class ScanAllImageTask extends android ...
- android代码获取应用名称,Android获取应用程序名称(ApplicationName)
MainActivity如下: package cn.testapplicationname; import android.os.Bundle; import android.widget.Text ...
- android获取程序名称,Android获取应用程序名称(ApplicationName)示例
MainActivity如下: 代码如下: package cn.testapplicationname; import android.os.Bundle; import android.widge ...
- php 获取父类名称,[typecho]获取 父级分类 名称?
比如有2个父级分类 A, B 子分类4个分别是A-1, A-2, B-1, B-2 我想在子分类的文章里, 获取其父分类名称:A或B应该怎么做? 回复内容: 比如有2个父级分类 A, B 子分类4个分 ...
- 3种方式获取Wifi名称 兼容获取Wifi名字为空 WifiInfo.getSSID为空的情况
最近遇到一个奇怪的bug,部分手机上获取wifi的名字,通过WifiManager.getConnectionInfo().getSSID()为"unknown ssid",调试查 ...
- 获取应用包名、获取应用名称、获取MetaData值、获取应用所有Permission、获取permission对应描述信息
// 获取acitivty所在的应用名称 public static String getAppName(Activity activity) {PackageManager pm = activit ...
- php获取服务器名称,PHP 获取服务器详细信息
获取系统类型及版本号: php_uname() (例:Windows NT COMPUTER 5.1 build 2600) 只获取系统类型: php_uname('s ...
- PHP获取文件名称表格,并批量修改文件名
前言 本文是自己在进行项目编写时遇到的情况,需求是提取目录中的pdf文件名,判断是否对应的压缩文件,生成相应的表格,并重命名文件. 实现效果 起始 结果 代码 <?php/*** 列出文件表格* ...
- linux 脚本 获取当前目录,Linux下获取脚本当前工作目录的一点感触
背景:把scp-file.sh脚本相同路径下的所有文件传到另外一个服务器上. 一般把scp * test@192.169.55.66:/home/放到scp-file.sh脚本中,这样就能完成这个功能 ...
最新文章
- Mysql左连接分页查询
- Python中的range和xrange区别
- MySQL如何删除有外键约束的数据
- 十年磨一剑!支付宝自研数据库OceanBase通过阿里云向全球开放
- 分享无限:偷拍IBM power 720内部外部图片
- Linux学习笔记005----CentOS7 vi模式保存并退出
- arduino 停止程序_Arduino用ISD1820语音录放模块制作留言机
- Android5.0免Root截屏,录屏
- 抖音短视频系统开发Service后台播放音乐实例
- 平面设计师需要掌握哪些印刷知识
- 群晖搭建discuz论坛
- 大学生面试:教你用“一切细节”征服HR
- Android 知识点 109 —— Android7.0 PowerManagerService 之亮灭屏
- idea中的xml文件怎么直接在idea中通过浏览器打开
- HTML5期末大作业:美妆网页主题网站设计——清新的手工肥皂网站展示(4页)HTML+CSS+JavaScript...
- 瑞星linux u盘引导盘杀毒教程,制作启动型杀毒U盘的详细教程
- 要想步入程序开发行列,就不得不知道的事情汇总
- java odbc excel_利用odbc连接excel,解决中文乱码问题。
- 【百度前端学院学习笔记】Day6 浮动/BFC
- 现货白银继续高位震荡整理 空头是否销声敛迹
热门文章
- RESTEasy教程第3部分:异常处理
- Maven不会吮吸。 。 。 但是Maven文件会
- javadoc - Java API 文档生成器(Windows版本)
- JSP的隐含对象/隐藏对象/内置对象介绍
- predicate 列存储索引扫描_ColumnStore index (列存储索引)解析
- abaqus实例_使用Python在ABAQUS中创建XYData数据
- 【WebRTC---入门篇】(十四)WebRTC音视频录制
- 在switch语句中,case后的标号只能是什么?
- C语言 | 二维数组
- java项目加减乘除验证码_课堂Java小程序(加减乘除与验证码)