搜索

查看: 3204|回复: 11

[PHP] php获取文件扩展名的3种方法实例

[复制链接]
发表于 2023-5-4 17:03:20 | 显示全部楼层 |阅读模式
Editor 2023-5-4 17:03:20 3204 11 看全部
目录
  • 前言
  • PHP pathinfo()获取文件扩展名
  • PHP SplFileInfo获取文件后缀
  • PHP substr()和strrchr()函数获取文件扩展名
  • 总结
    前言
    在php开发过程中,获取文件扩展名是非常常见的需求。比如我们在上传文件的时候,首先需要判断文件类型是否为我们允许上传的类型。这个时候就需要使用php来获取文件的后缀或者说扩展名。
    本文中,我们介绍三种php获取文件扩展名的方法
  • 方法一:使用PHP pathinfo()获取文件扩展名
  • 方法二:使用PHP SplFileInfo类获取文件后缀
  • 方法三:使用PHP substr()和strrchr()函数获取文件扩展名
    PHP pathinfo()获取文件扩展名
    pathinfo() 函数以数组的形式返回关于文件路径的信息。
    返回的数组元素如下:
  • [dirname]: 目录路径
  • [basename]: 文件名
  • [extension]: 文件后缀名
  • [filename]: 不包含后缀的文件名
    语法:
    pathinfo(path,options)

    参数描述:
    参数描述path必需。规定要检查的路径。options可选。规定要返回的数组元素。默认是 all。
    可能的值:
    参数描述
    path必需。规定要检查的路径。
    options可选。规定要返回的数组元素。默认是 all。可能的值:
  • PATHINFO_DIRNAME - 只返回 dirname
  • PATHINFO_BASENAME - 只返回 basename
  • PATHINFO_EXTENSION - 只返回 extension
  • PATHINFO_FILENAME - 只返回 filename

  • 我们可以使用pathinfo()函数从字符串获取文件扩展名。
    例子:
    $file = 'folder/directory/file.html';
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    // Returns html
    echo $ext;

    $file = 'folder/directory/file.html';
    $ext = pathinfo($file);

    echo $ext['dirname'] . '
    ';   // Returns folder/directory
    echo $ext['basename'] . '
    ';  // Returns file.html
    echo $ext['extension'] . '
    '; // Returns .html
    echo $ext['filename'] . '
    ';  // Returns file
    PHP SplFileInfo获取文件后缀
    SplFileInfo类为单个文件的信息提供了一个高级的面向对象的接口。
    我们可以使用SplFileInfo :: getExtension()函数提取文件扩展名。
    SplFileInfo :: getExtension()函数是PHP中标准PHP库(SPL)的内置函数,用于获取文件扩展名。
    语法:
    string SplFileInfo::getExtension( void )

    该函数不接受任何参数。该函数返回包含文件扩展名的字符串。
    下面的示例说明了如何使用SplFileInfo类获取文件扩展名。
    getExtension() . "";
    }
    ?>
    输出:
    php
    txt
    php
    c

    PHP substr()和strrchr()函数获取文件扩展名
    substr() 函数返回字符串的一部分。
    strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
    结合这两个函数的功能,我们可以写一个php自定义函数获取文件扩展名。
    下面的自定义函数是我写的:
    function get_file_extension($file_name) {
        return substr(strrchr($file_name,'.'),1);
    }
    注意:php获取文件后缀的方法有很多种,本文章只列举三种方法。各位php大佬也可以使用其他方法来实现。

    总结
    到此这篇关于php获取文件扩展名的3种方法的文章就介绍到这了,更多相关php获取文件扩展名内容请搜索知鸟论坛以前的文章或继续浏览下面的相关文章希望大家以后多多支持知鸟论坛!
  • 发表于 2023-6-29 00:56:47 | 显示全部楼层
    贰十岁装成熟装s 2023-6-29 00:56:47 看全部
    既然你诚信诚意的推荐了,那我就勉为其难的看看吧!知鸟论坛不走平凡路。
    发表于 2023-6-29 11:33:23 | 显示全部楼层
    幸福341 2023-6-29 11:33:23 看全部
    这东西我收了!谢谢楼主!知鸟论坛真好!
    发表于 2023-6-29 14:16:30 | 显示全部楼层
    123456823 2023-6-29 14:16:30 看全部
    这东西我收了!谢谢楼主!知鸟论坛真好!
    发表于 2023-6-29 19:37:07 | 显示全部楼层
    尘埃416 2023-6-29 19:37:07 看全部
    感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
    发表于 2023-6-29 20:02:53 | 显示全部楼层
    123456868 2023-6-29 20:02:53 看全部
    楼主,大恩不言谢了!知鸟论坛是最棒的!
    发表于 2023-6-30 01:37:47 | 显示全部楼层
    计划你大爷计j 2023-6-30 01:37:47 看全部
    楼主,我太崇拜你了!我想我是一天也不能离开知鸟论坛
    发表于 2023-6-30 12:06:49 | 显示全部楼层
    123456833 2023-6-30 12:06:49 看全部
    我看不错噢 谢谢楼主!知鸟论坛越来越好!
    发表于 2023-6-30 12:54:02 | 显示全部楼层
    风吹吹蛋蛋疼风w 2023-6-30 12:54:02 看全部
    楼主太厉害了!楼主,I*老*虎*U!我觉得知鸟论坛真是个好地方!
    发表于 2023-7-3 11:38:41 | 显示全部楼层
    风来时狂放 2023-7-3 11:38:41 看全部
    感谢楼主的无私分享!要想知鸟论坛好 就靠你我他
    • 您可能感兴趣
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则 返回列表

    RSS订阅| 小黑屋| 知鸟论坛 |网站地图
    本站资源来自互联网用户收集发布,如有侵权请邮件联系处理。 联系邮箱E-mail:zniao@foxmail.com
    快速回复 返回顶部 返回列表