pathinfo()

1. 定义

返回一个指定路径的文件信息的数组,包括其所在目录名、基本文件名、文件扩展名和文件名。

注:实质上还是将路径解析为全路径字符串后,进行字符串解析。

2. 语法

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

3. 参数说明

参数 可选性 数据类型 描述
$path 必需 字符串 指定的文件所在路径
$options 可选 整型或常量 选择要输出的信息。不指定该参数则默认输出所有信息

4. 示例

<?php

// pathinfo()
// 返回一个指定路径的文件信息的数组,包括其所在目录名、基本文件名、文件扩展名和文件名

$path = __FILE__;
var_dump(pathinfo($path));
/* 输出:
array(4) {
  ["dirname"]=>
  string(35) "E:\demo\test"
  ["basename"]=>
  string(9) "test.php"
  ["extension"]=>
  string(3) "php"
  ["filename"]=>
  string(5) "test"
}
*/

echo '该文件的所在目录名:',pathinfo($path, PATHINFO_DIRNAME),"\n";
echo '该文件的基本文件名(包括文件扩展):',pathinfo($path, PATHINFO_BASENAME),"\n";
echo '该文件的扩展名:',pathinfo($path, PATHINFO_EXTENSION),"\n";
echo '该文件的文件名:',pathinfo($path, PATHINFO_FILENAME),"\n";
/* 输出:
该文件的所在目录名:E:\demo
该文件的基本文件名(包括文件扩展):test.php
该文件的扩展名:php
该文件的文件名:test
*/

$path = __DIR__.'/一个不存在的文件.txt';
var_dump(pathinfo($path));
/* 输出:
array(4) {
  ["dirname"]=>
  string(35) "E:\demo"
  ["basename"]=>
  string(28) "一个不存在的文件.txt"
  ["extension"]=>
  string(3) "txt"
  ["filename"]=>
  string(24) "一个不存在的文件"
}
*/

5. 延展阅读

  • dirname():返回文件所在目录
  • basename():返回一个路径参数的基本文件名(不包含任何目录名称)
  • realpath():返回指定路径的绝对路径