PHP pathinfo()获得文件的路径、名称等信息说明


Posted in PHP onSeptember 13, 2011

PHP pathinfo() 函数

定义和用法

pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。
返回的数组元素如下:
[dirname]:返回文件路径中的目录部分
[basename]:返回文件路径中文件名的部分
[extension]:返回文件路径中文件的类型的部分
语法

pathinfo(path,options)

参数 描述
path 必需。规定要检查的路径。
options 可选。规定要返回的数组元素。默认是 all。 可能的值: PATHINFO_DIRNAME - 只返回 dirname PATHINFO_BASENAME - 只返回 basename PATHINFO_EXTENSION - 只返回 extension

提示和注释

注释:如果不是请求所有的元素,则 pathinfo() 函数返回字符串。
php开启pathinfo 路由模式:pathinfo 模式 需要 php.ini 开启下面这个参数
cgi.fix_pathinfo=1
path_info模式:http://www.xxx.com/index.php/模块/方法

实例 1

<?php
 print_r(pathinfo("/testweb/test.txt"));
 ?>

上面的代码将输出:

Array
 (
 [dirname] => /testweb
 [basename] => test.txt
 [extension] => txt
 )

实例 2

<?php
 var_dump(pathinfo("/testweb/test.txt",PATHINFO_DIRNAME));
 var_dump(pathinfo("/testweb/test.txt",PATHINFO_BASENAME));
 var_dump(pathinfo("/testweb/test.txt",PATHINFO_EXTENSION));
 ?>

上面的代码将输出:
string(8)"/testweb"
string(8)"test.txt"
string(3)"txt"

假设现在有一个图片文件,它的服务器端路径为:

$path = "/www/mywebsite/images/myphoto.jpg";

1.pathinfo()函数
pathinfo()函数返回的是一个包含了文件信息的数组,数组中有四个元素,分别是dirname、basename、extension、filename。打印数组的代码:

$fileArr = pathinfo($path); 

print_r($fileArr); 

//输出结果:Array ( [dirname] => /www/mywebsite/images [basename] => myphoto.jpg [extension] => jpg [filename] => myphoto )

这样我们只需根据数组的键名就可以获得对应的键值:
echo $fileArr['filename']; 

//输出结果:myphoto 

echo $fileArr['extension']; 

//输出结果:jpg 

//...

2.dirname()函数
dirname()函数给出一个包含有指向一个文件的全路径的字符串,它返回的值去掉文件名后的目录名,可以认为是对pathinfo()函数的扩展:
echo dirname($path); 

//输出结果:/www/mywebsite/images 

//或者 

echo dirname("/www/mywebsite/images/"); 

echo dirname("/www/mywebsite/images"); 

//输出的结果都为:/www/mywebsite

所以可以理解为返回的值为路径的上一层目录地址名。
3.basename()函数
basename()函数给出一个包含有指向一个文件的全路径的字符串,他返回的值为基本的文件名,同样可以认为是对pathinfo()函数的扩展:
echo basename($path); 

//输出结果:myphoto.jpg 

//或者 

basename("/www/mywebsite/images/"); 

//输出结果:images

所以可以理解为返回的值为路径的当前目录的名称。
PHP 相关文章推荐
PHP4实际应用经验篇(5)
Oct 09 PHP
关于文本留言本的分页代码
Oct 09 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
PHPMailer安装方法及简单实例
Nov 25 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
ThinkPHP自动完成中使用函数与回调方法实例
Nov 29 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP获取MAC地址的函数代码
Sep 11 #PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 #PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 #PHP
20个PHP常用类库小结
Sep 11 #PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 #PHP
php正则表达式(regar expression)
Sep 10 #PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 #PHP
You might like
请php正则走开
2008/03/15 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP7 list() 函数修改
2021/03/09 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
python中set()函数简介及实例解析
2018/01/09 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python安装gdal的两种方法
2019/10/29 Python
基于keras中的回调函数用法说明
2020/06/17 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
中国制造网:Made-in-China.com
2019/10/25 全球购物
大学生个人简历自荐信
2015/03/06 职场文书
楚门的世界观后感
2015/06/03 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
python微信智能AI机器人实现多种支付方式
2022/04/12 Python