PHP pathinfo() 函数

pathinfo() 函数是 PHP 中用于获取文件路径信息的内置函数。该函数可以返回一个关联数组,包含有指定路径的文件名、目录名、拓展名等信息。

### 语法

pathinfo(filepath, options)

其中,`filepath` 表示要分析的文件路径,`options` 表示可选参数,用于确定要获取的路径信息。`options` 参数可以是下列常量之一:

- PATHINFO_DIRNAME:表示获取路径中的目录名;

- PATHINFO_BASENAME:表示获取路径中的文件名,包含拓展名;

- PATHINFO_EXTENSION:表示获取路径中的文件拓展名;

- PATHINFO_FILENAME:表示获取路径中的文件名,不包含拓展名。

如果省略 `options` 参数,默认会返回一个关联数组,包含有指定路径的所有路径信息。

### 返回值

调用 `pathinfo()` 函数,会返回一个关联数组,包含有指定路径的文件名、目录名、拓展名等信息。

### 使用示例

#### 示例 1:获取文件名和扩展名

```php

$file_path = '/path/to/file.txt';

$file_info = pathinfo($file_path);

echo $file_info['filename']; // 输出:file

echo $file_info['extension']; // 输出:txt

?>

```

#### 示例 2:获取文件的目录名

```php

$file_path = '/path/to/file.txt';

$file_dir = pathinfo($file_path, PATHINFO_DIRNAME);

echo $file_dir; // 输出:/path/to

?>

```

#### 示例 3:获取文件的大小和修改时间

```php

$file_path = '/path/to/file.txt';

$file_size = filesize($file_path);

$file_time = filemtime($file_path);

$file_info = pathinfo($file_path);

echo "文件名:" . $file_info['basename'] . "
";

echo "文件大小:" . $file_size . " 字节
";

echo "最近修改时间:" . date('Y-m-d H:i:s', $file_time) . "
";

?>

```

#### 示例 4:遍历目录下的所有文件

```php

function list_folder($dir)

{

if (is_dir($dir)) {

$files = scandir($dir);

foreach($files as $file) {

if ($file != "." && $file != "..") {

echo $dir . DIRECTORY_SEPARATOR . $file . "
";

if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {

list_folder($dir . DIRECTORY_SEPARATOR . $file);

}

}

}

}

}

list_folder('/path/to/folder');

?>

```

上面这个例子中,我们使用了 PHP 的 `scandir()` 函数来遍历目录下的所有文件。对于每个文件,我们使用 `pathinfo()` 函数来获取文件信息并输出。如果文件是一个目录,则通过递归调用 `list_folder()` 函数来继续遍历目录下的文件。

### 注意事项

- 如果 `$file_path` 参数为空字符串,则 `pathinfo()` 函数将返回 `.`,表示当前目录;

- 在 Windows 系统中,路径分隔符为 `\`,而在 Unix/Linx 系统中,路径分隔符为 `/`。因此,为了提高兼容性,使用 `DIRECTORY_SEPARATOR` 常量来表示路径分隔符会更好。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(5) 打赏

评论列表 共有 1 条评论

樱桃味的小丸子 9月前 回复TA

牛粪终归是牛粪,上锅蒸了也不会变成香饽饽。

立即
投稿
发表
评论
返回
顶部