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

 更新时间:2023年01月15日 08:54:03   作者:wuxiaopengnihao1  
PHP获取文件后缀名是PHP学习者常见的一种操作,无论是在面试过程中还是PHP新手自学中,下面这篇文章主要给大家介绍了关于php获取文件扩展名的3种方法,需要的朋友可以参考下

前言

在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'] . '<br/>';   // Returns folder/directory
echo $ext['basename'] . '<br/>';  // Returns file.html
echo $ext['extension'] . '<br/>'; // Returns .html
echo $ext['filename'] . '<br/>';  // Returns file

PHP SplFileInfo获取文件后缀

SplFileInfo类为单个文件的信息提供了一个高级的面向对象的接口。

我们可以使用SplFileInfo :: getExtension()函数提取文件扩展名。

SplFileInfo :: getExtension()函数是PHP中标准PHP库(SPL)的内置函数,用于获取文件扩展名。

语法:

string SplFileInfo::getExtension( void )

该函数不接受任何参数。该函数返回包含文件扩展名的字符串。

下面的示例说明了如何使用SplFileInfo类获取文件扩展名。

<?php 
$GFG = array( 
    "/home/rajvir/Desktop/GeeksforGeeks/dummy.php", 
    "/home/rajvir/Desktop/gfg.txt", 
    "/var/www/html/gfg.php", 
    "demo.c"
); 
   
foreach ($GFG as &$file_name) { 
       
    // Create new SPlFileInfo Object 
    $file = new SplFileInfo($file_name); 
       
    // Print result 
    echo $file->getExtension() . "</br>"; 
} 
?> 

输出:

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获取文件扩展名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PHP实现实时生成并下载超大数据量的EXCEL文件详解

    PHP实现实时生成并下载超大数据量的EXCEL文件详解

    EXCEL文件的处理是我们在日常工作中经常会遇到的,这篇文章主要给大家介绍了关于利用PHP如何实现实时生成并下载超大数据量的EXCEL文件,通过文中介绍的这个方法对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • php打包网站并在线压缩为zip

    php打包网站并在线压缩为zip

    这篇文章主要介绍了php打包网站并在线压缩为zip的相关资料,具有一定的参考价值,需要的朋友可以参考下
    2016-02-02
  • PHP使用ajax的post方式下载excel文件简单示例

    PHP使用ajax的post方式下载excel文件简单示例

    这篇文章主要介绍了PHP使用ajax的post方式下载excel文件,结合简单示例形式分析了php后端Excel文件下载及前端ajax交互相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • PHP获取数组的键与值方法小结

    PHP获取数组的键与值方法小结

    这篇文章主要介绍了PHP获取数组的键与值方法,实例总结了key()、current()、each()、list()等方法的相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • ThinkPHP实现递归无级分类——代码少

    ThinkPHP实现递归无级分类——代码少

    这篇文章通过一段简短的代码实现了ThinkPHP实现递归无级分类,,需要的朋友可以参考下
    2015-07-07
  • 快速配置PHPMyAdmin方法

    快速配置PHPMyAdmin方法

    今天想提一下如何配置PHPMyAdmin,虽然在本机开发、调试系统时或许并不会用到它,但对于将来在远程虚拟主机中放置Mysql数据库时,必然会用到phpmyadmin这样的Mysql GUI工具,所以,在本地先熟悉一下如何使用也是有必要的。
    2008-06-06
  • 在ThinkPHP6中使用mysql进行分页查询的实现代码

    在ThinkPHP6中使用mysql进行分页查询的实现代码

    随着互联网的快速发展,web应用程序的开发也越来越复杂,而分页查询是web应用程序中常见的功能之一,thinkphp6是一个web框架,可以帮助开发人员快速开发应用程序,在本文中,我们将讨论如何在thinkphp6中使用mysql进行分页查询,需要的朋友可以参考下
    2024-07-07
  • PHP伪静态Rewrite设置之APACHE篇

    PHP伪静态Rewrite设置之APACHE篇

    Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等
    2014-07-07
  • PHP中有关长整数的一些操作教程

    PHP中有关长整数的一些操作教程

    这篇文章主要给大家介绍了关于PHP中有关长整数的一些操作教程,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • PHP单例模式数据库连接类与页面静态化实现方法

    PHP单例模式数据库连接类与页面静态化实现方法

    这篇文章主要介绍了PHP单例模式数据库连接类与页面静态化实现方法,涉及php面向对象单例模式数据库连接类的定义与使用方法,以及缓存实现页面静态化相关操作技巧,需要的朋友可以参考下
    2019-03-03

最新评论