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

  作者:bea

PHP pathinfo() 函数 定义和用法 pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。 返回的数组元素如下: [dirname]:返回文件路径中的目录部分 [basename]:返回文件路径中文件名的部分 [extension]:返回文件路径中文件的类型的部分 语法 pathinfo(path,options) 参数 描述 path 必需。规定要检查的路径。 options
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


所以可以理解为返回的值为路径的当前目录的名称。



有用  |  无用

猜你喜欢