PHP解析目录路径的3个函数总结


Posted in PHP onNovember 18, 2014

要描述一个文件的位置,可以使用决对路径和相对路径。绝对路径是从根开始一级一级地进入各个子目录,最后指定该文件名或目录名。而相对目录是从当前目录进入某目录,最后指定该文件名或目录名。在系统的每个目录下都有两个特殊的目录“.”和“..”,分别指示当前目录和当前目录的父目录(上一级目录)。例如:

$unixPath = “/var/www/html/index.php”; ?在UNIX系统中绝对路径,必须使用“/”作为路径分隔符

$winPath = “C:\\Appserv\\www\\index.php”; ?Windows系统的绝对路径,默认使用“\”作为路径分隔符

$winPath = “C:/Appserv/www/index.php”; ?在Windows系统中也接受“/”作为路径分隔符,推荐使用

$fileName1=”file.txt”; ?相对路径,当前目录下的file.txt文件

$fileName2=”javascript/common.js”; ?相对路径,当前目录中javascript子目录下的common.js文件

$fileName3=”../images/logo.gif”; ?相对路径,上一级目录中images子目录下的logo.gif文件

在上例中,分别列出了UNIX和Windows系统中绝对路径和相对路径的格式。其中在UNIX系统中必须使用正斜线“/”作为路径分隔符,而在Windows系统中默认使用反斜线“\”作为路径分隔符,在程序中表示还要将“\”转义,但也接受正斜线“/”作为分隔符的写法。为了程序可以有很好的移植性,建议都使用“/”作为文件的路径分隔符。另外,也可以使用PHP的内置常量DIRECTORY_SEPARATOR,其值为当前操作系统的默认文件路径分隔符。例如:

$fileName2 = “javascript”.DIRECTORY_SEPARATOR.”common.js”; ?Unix为“/”,Windows为“\”

将目录路径中各个属性分离开通常很有用,如末尾的扩展名、目录部分和基本名。可以通过PHP的系统函数basename()、dirname()和pathinfo()函数完成这些任务。

①函数basename()

函数basename()返回路径中的文件名部分。该函数的原型如下所示:

string basename(string path[,string suffix]) //返回路径中的文件名部分

该函数给出一个包含其指向一个文件的全路径的字符串,本函数返回基本的文件名。第二个参数可选参数,规定文件的扩展名。如果提供了则不会输出这个扩展名。该函数的使用如下面的代码所示:
<?php

//包含有指向一个文件的全部路径的字符串

$path = "/var/www/html/page.php";

//显示带有文件扩展名的文件名,输出page.php

echo basename($path);

//显示不带有文件扩展名的文件名,输出page

echo basename($path,".php");

?>

②函数dirname()

该函数恰好与basename()相反,只需要一个参数,给出一个包含有指向一个文件的全部路径的字符串,本函数返回去掉文件名后的目录名。该函数的使用如以下代码所示:

<?php

$path = "/var/www/html/page.php";

echo dirname($path); //返回目录名/var/www/html

echo dirname('c:/'); //返回目录名c:/

?>

③函数pathinfo()

函数pathinfo()返回一个关联数组,其中包括指定路径中的目录名、基本名和扩展名三个部分。分别通过数组键dirname、basename和extension来引用。该函数的使用如下代码所示。

<?php

$path = "/var/www/html/page.php"; 

$path_parts = pathinfo($path); //返回包括指定路径中的目录名、基本名和扩展名关联数组

echo $path_parts["dirname"]; //输出目录名/var/www/html

echo $path_parts["basename"]; //输出基本名page.php

echo $path_parts["extension"]; //输出扩展名.php

?>
PHP 相关文章推荐
探讨Hessian在PHP中的使用分析
Jun 13 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
PHP自毁程序(慎用)
Jul 09 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
非常实用的php验证码类
May 15 PHP
php 的反射详解及示例代码
Aug 25 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 #PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 #PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
Nov 18 #PHP
PHP统计目录大小的自定义函数分享
Nov 18 #PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 #PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 #PHP
PHP打开和关闭文件操作函数总结
Nov 18 #PHP
You might like
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
linux面试题参考答案(11)
2016/11/26 面试题
物业管理员岗位职责范文
2013/11/25 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书