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=1path_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 所以可以理解为返回的值为路径的当前目录的名称。