php获取路径、目录或文件名称,咱们常常会使用到dirname()、basename()、pathinfo()这三个函数,本文章向你们详细介绍这三个函数的区别以及使用实例,须要的朋友能够参考一下。php
dirname()函数html
string dirname ( string $path )
php dirname函数获取给定文件路径中的目录部分,参数$path是一个文件路径的字符串web
dirname()函数常常与魔术变量__FILE__一块儿使用,魔术变量__FILE__表示当前运行文件的完整路径和文件名。数组
dirname(dirname(__FILE__));获得的是文件上一层目录名函数
dirname(__FILE__);获得的是文件所在层目录名网站
如:url
<?php /* 做者:码农教程 网站地址: http://www.manongjc.com */ echo dirname("c:/testweb/home.php")."<br/>"; echo dirname("/testweb/home.php")."<br/><br/>"; echo __FILE__ ."<br/>"; echo dirname(__FILE__)."<br/>"; echo dirname(dirname(__FILE__)); ?>
运行结果为:spa
c:/testweb /testweb E:\wamp\www\test.php E:\wamp\www E:\wamp
basename()函数code
string basename ( string $path [, string $suffix ] )
php basename()函数获取路径中的文件名部分,该函数与dirname()正好相反(dirname获取路径中的目录部分)。htm
第一个参数$path表示一个包含有指向一个文件的全路径的字符串,第二个参数表示若是文件名是以suffix结束的,那这一部分也会被去掉。
实例以下:
<?php /* 做者:码农教程 http://www.manongjc.com/article/30.html */ var_dump(basename("/etc/sudoers.d", ".d")); var_dump(basename("/etc/passwd")); var_dump(basename("/etc/")); var_dump(basename(".")); var_dump(basename("/")); ?>
运行结果:
string(7) "sudoers" string(6) "passwd" string(3) "etc" string(1) "." string(0) ""
pathinfo()函数
php pathinfo函数用于解析路径,将路径解析为一个数组,数组包括目录名、完整的文件名、文件扩展名和文件名(不包括文件后缀)四个值,而且这四个值的键名分别为dirname、basename、extension和filename,咱们能够经过这四个键名来获取目录名、完整的文件名、文件扩展名和文件名的值。
语法:
mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
参数:
实例:
<? /* 做者:码农教程 http://www.manongjc.com/article/30.html */ $test = pathinfo("http://localhost/index.php"); print_r($test); ?>
结果以下
Array ( [dirname] => http://localhost //url的路径 [basename] => index.php //完整文件名 [extension] => php //文件名后缀 [filename] => index //文件名 )