Categories
未分类

PHP 函数 pathinfo 用法详解

介绍

pathinfo 函数可以解析和返回指定文件的路径信息。比如文件目录路径、扩展名等。

函数原型

pathinfo (string $path[, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME]) : mixed

第一个参数,必传,文件路径。

第二个参数,选传,指定返回的元素。未指定时,全部返回。

返回值,根据第二个参数选项,返回指定元素的字符串,或返回一个数组,包含所有的元素。

用法示例

源码一

$myAccessLog = "/data/www/xingchaovv-com/access.log";
var_dump(pathinfo($myAccessLog));

执行结果

array(4) {
["dirname"]=>
string(24) "/data/www/xingchaovv-com"
["basename"]=>
string(10) "access.log"
["extension"]=>
string(3) "log"
["filename"]=>
string(6) "access"
}

pathinfo 直接返回文件所有信息,其中 dirname 为文件所在目录路径;basename 为文件基础名称,即文件名;extension 为文件扩展名,filename 为文件不含后缀名称。

源码二

var_dump(pathinfo($myAccessLog, PATHINFO_DIRNAME));

执行结果

string(24) "/data/www/xingchaovv-com"

通过指定 PATHINFO_DIRNAME,只返回目录信息。

源码三

$myLogDir = "/data/www/xingchaovv-com/log-202008";
var_dump(pathinfo($myLogDir));

执行结果

array(3) {
["dirname"]=>
string(24) "/data/www/xingchaovv-com"
["basename"]=>
string(10) "log-202008"
["filename"]=>
string(10) "log-202008"
}

函数也可以正常解析一个目录路径。无扩展名信息返回。

源码四

$mySiteLog = "/data/www/my-site.access.log";
var_dump(pathinfo($mySiteLog));

执行结果

array(4) {
["dirname"]=>
string(9) "/data/www"
["basename"]=>
string(18) "my-site.access.log"
["extension"]=>
string(3) "log"
["filename"]=>
string(14) "my-site.access"
}

当文件扩展名为多个时(点分隔),只会认为最后一个为有效扩展名。

源码五

$tmpLog = "./www/.log";
var_dump(pathinfo($tmpLog));

执行结果

array(4) {
["dirname"]=>
string(5) "./www"
["basename"]=>
string(4) ".log"
["extension"]=>
string(3) "log"
["filename"]=>
string(0) ""
}

当文件只有后缀时,filename 返回为空字符串。

(完)

扫码阅读和分享

Leave a Reply

Your email address will not be published. Required fields are marked *