在PHP中,可以通过函数获得一个文件的路径、名称,或者是扩展名等,是非常容易的一件事。可以使用我们前面所讲的php pathinfo()函数或者可以使用php dirname()函数,php basename()函数等多种途径获得相应的信息。
PHP pathinfo() 函数
定义和用法
pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。
返回的数组元素如下:
[dirname]:返回文件路径中的目录部分
[basename]:返回文件路径中文件名的部分
[extension]:返回文件路径中文件的类型的部分
语法
pathinfo(path,options)
参数 | 描述 |
---|---|
path | 必需。规定要检查的路径。 |
options | 可选。规定要返回的数组元素。默认是 all。 可能的值:
|
提示和注释
注释:如果不是请求所有的元素,则 pathinfo() 函数返回字符串。
php开启pathinfo 路由模式:pathinfo 模式 需要 php.ini 开启下面这个参数
cgi.fix_pathinfo=1
path_info模式:h t t p://www.xxx.com/index.php/ 模块/方法
实例 1
<?php print_r(pathinfo("/testweb/test.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)); ?>
上面的代码将输出:
假设现在有一个图片文件,它的服务器端路径为:
$path = "/www/mywebsite/images/myphoto.jpg";
1.pathinfo()函数
pathinfo()函数返回的是一个包含了文件信息的数组,数组中有四个元素,分别是dirname、basename、extension、filename。打印数组的代码:
代码如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); print_r($fileArr); ?>
代码运行结果:
这样我们只需根据数组的键名就可以获得对应的键值:
代码如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); echo $fileArr['filename']."<br/>"; //输出结果:myphoto echo $fileArr['extension']; //输出结果:jpg ?>
代码运行结果:
2.dirname()函数
dirname()函数给出一个包含有指向一个文件的全路径的字符串,它返回的值去掉文件名后的目录名,可以认为是对pathinfo()函数的扩展:
代码如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); echo dirname($path)."<br/>"; //输出结果:/www/mywebsite/images //或者 echo dirname("/www/mywebsite/images/")."<br/>"; echo dirname("/www/mywebsite/images"); //输出的结果都为:/www/mywebsite ?>
代码运行结果:
所以可以理解为返回的值为路径的上一层目录地址名。
3.basename()函数
basename()函数给出一个包含有指向一个文件的全路径的字符串,他返回的值为基本的文件名,同样可以认为是对pathinfo()函数的扩展:
代码如下:
<?php $path = "/www/mywebsite/images/myphoto.jpg"; $fileArr = pathinfo($path); echo basename($path)."<br/>"; //输出结果:myphoto.jpg //或者 echo basename("/www/mywebsite/images/"); //输出结果:images ?>
代码运行结果:
所以可以理解为返回的值为路径的当前目录的名称。
【相关文章推荐】:
1 . 详解php pathinfo()函数获取文件路径信息
3 . 详解php basename()函数获取文件名的用法
Atas ialah kandungan terperinci 详解php pathinfo()函数获取文件的路径、名称等信息. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!