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 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
利用浏览器的Javascript控制台调试PHP程序
Jan 08 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
php设计模式 Delegation(委托模式)
2011/06/26 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
javascript下function声明一些小结
2007/12/28 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
举例区分Python中的浅复制与深复制
2015/07/02 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
Python实现Event回调机制的方法
2019/02/13 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
智能室内花园:Click & Grow
2021/01/29 全球购物
网络教育毕业生自我鉴定
2013/10/10 职场文书
个人自我鉴定写法
2013/11/30 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
户外活动总结范文
2014/04/30 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
离婚代理词范文
2015/05/23 职场文书
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis