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 相关文章推荐
php+mysql分页代码详解
Mar 27 PHP
PHP禁止个别IP访问网站
Oct 30 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP二维数组去重算法
Dec 17 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 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
德劲1107的电路分析与打磨
2021/03/02 无线电
YII框架页面缓存操作示例
2019/04/29 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
jsonp原理及使用
2013/10/28 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
js实现倒计时关键代码
2017/05/05 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
python实现无证书加密解密实例
2014/10/27 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
python进行两个表格对比的方法
2018/06/27 Python
python:接口间数据传递与调用方法
2018/12/17 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
python requests.get带header
2020/05/05 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
金融专业应届生求职信
2013/11/02 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
2014年上半年工作自我评价
2014/01/18 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL