首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

pathinfo - 返回关于文件路径的信息

描述

代码语言:javascript
复制
mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

pathinfo()返回关于path:关联数组或字符串的信息,具体取决于options

注意:有关检索当前路径信息的信息,请阅读有关预定义保留变量的部分。

警告

pathinfo()是可识别区域的,因此为了正确解析包含多字节字符的路径,必须使用setlocale()函数设置匹配的区域设置。

参数

path

要解析的路径。

options

如果存在,则指定要返回的特定元素;中的一个PATHINFO_DIRNAMEPATHINFO_BASENAMEPATHINFO_EXTENSIONPATHINFO_FILENAME

如果options未指定,则返回所有可用的元素。

返回值

如果options参数未传递,则返回包含以下元素的关联数组:dirnamebasename扩展名(如果有)和文件名

注意:如果path有多个扩展名,PATHINFO_EXTENSION则只返回最后一个扩展名,并PATHINFO_FILENAME仅删除最后一个扩展名。(见下面的第一个例子)。

注意:如果path没有扩展名,则不会返回扩展名元素(请参阅下面的第二个示例)。

注意:如果基名的的path以点开始,下面的字符被解释为延伸,并且文件名是空的(见下面的第三个例子)。

如果options存在,则返回一个包含请求元素的字符串。

Changelog

版本

描述

5.2.0

PATHINFO_FILENAME常量已添加。

示例

Example #1 pathinfo() Example

代码语言:javascript
复制
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>

上面的例子将输出:

代码语言:javascript
复制
/www/htdocs/inc
lib.inc.php
php
lib.inc

示例#2 pathinfo()示例显示了null和no extension之间的区别

代码语言:javascript
复制
<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);

$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>

上面的例子会输出类似于:

代码语言:javascript
复制
string(0) ""

Notice: Undefined index: extension in test.php on line 6
NULL

Example #3 pathinfo() example for a dot-file

代码语言:javascript
复制
<?php
print_r(pathinfo('/some/path/.test'));
?>

上面的例子会输出类似于:

代码语言:javascript
复制
Array
(
    [dirname] => /some/path
    [basename] => .test
    [extension] => test
    [filename] => 
)

另请参阅

  • dirname() - 返回父目录的路径
  • basename() - 返回路径的结尾名称组件
  • parse_url() - 解析URL并返回其组件
  • realpath() - 返回规范化的绝对​​路径名

← parse_ini_string

pclose →

扫码关注腾讯云开发者

领取腾讯云代金券