当前位置:首页 > PHP

php实现pathinfo

2026-01-29 15:08:04PHP

PHP 实现 pathinfo 功能

PHP 内置的 pathinfo() 函数用于解析文件路径信息,返回一个关联数组或字符串,包含目录名、文件名、扩展名等信息。以下是具体实现方法和示例:

基本语法

pathinfo(string $path, int $options = PATHINFO_ALL): mixed
  • $path:需要解析的文件路径。
  • $options:可选参数,指定返回的内容类型:
    • PATHINFO_DIRNAME:返回目录名。
    • PATHINFO_BASENAME:返回文件名(含扩展名)。
    • PATHINFO_EXTENSION:返回扩展名。
    • PATHINFO_FILENAME:返回文件名(不含扩展名)。
    • PATHINFO_ALL(默认):返回包含所有信息的关联数组。

示例代码

$path = '/var/www/html/example.php';

// 返回关联数组
$info = pathinfo($path);
print_r($info);
/*
输出:
Array
(
    [dirname] => /var/www/html
    [basename] => example.php
    [extension] => php
    [filename] => example
)
*/

// 单独获取扩展名
$extension = pathinfo($path, PATHINFO_EXTENSION);
echo $extension; // 输出:php

自定义实现

如果需要手动实现类似功能,可以使用字符串操作函数:

function customPathinfo($path, $option = null) {
    $result = [];
    $result['dirname'] = dirname($path);
    $result['basename'] = basename($path);

    $dotPos = strrpos($result['basename'], '.');
    if ($dotPos !== false) {
        $result['extension'] = substr($result['basename'], $dotPos + 1);
        $result['filename'] = substr($result['basename'], 0, $dotPos);
    } else {
        $result['extension'] = '';
        $result['filename'] = $result['basename'];
    }

    if ($option !== null) {
        return $result[$option] ?? null;
    }

    return $result;
}

注意事项

  • 路径中的斜杠(/\)会被自动处理,无需手动转换。
  • 如果路径没有扩展名(如 /var/www/html/example),extension 键值为空字符串。
  • Windows 和 Unix 路径格式均支持。

通过以上方法,可以灵活获取文件路径的各个组成部分,适用于文件上传、日志处理等场景。

php实现pathinfo

标签: phppathinfo
分享给朋友:

相关文章

php实现文件上传

php实现文件上传

文件上传的基本实现 在PHP中实现文件上传需要使用$_FILES超全局数组处理上传的文件数据。表单必须设置enctype="multipart/form-data"属性,并采用POST方法提交。 创…

php实现搜索功能

php实现搜索功能

实现基础搜索功能 使用PHP和MySQL实现基础的搜索功能需要结合表单提交与数据库查询。创建一个HTML表单用于接收用户输入的搜索关键词,通过PHP处理表单数据并查询数据库。 // 搜索表单 (H…

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaS…

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php记住密码怎么实现

php记住密码怎么实现

使用Cookie实现记住密码功能 在PHP中,可以通过设置Cookie来记住用户的登录状态。以下是一个简单的实现方式: // 用户登录验证成功后 if ($login_success) {…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…