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

作者:wuxiaopengnihao1 时间:2023-05-25 02:15:51 

前言

在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大佬也可以使用其他方法来实现。

来源:https://blog.csdn.net/wuxiaopengnihao1/article/details/126462538

标签:PHP,文件扩展名
0
投稿

猜你喜欢

  • CSS关于Border你可能会不注意的东西

    2007-10-20 13:50:00
  • asp如何实现网上考试功能?

    2010-05-24 18:32:00
  • 趣用文化元素

    2009-09-03 11:53:00
  • asp GetString的用法

    2008-06-12 13:46:00
  • Asp定时执行操作 Asp定时读取数据库(网页定时操作详解)

    2011-03-17 11:04:00
  • ORACLE常见错误代码的分析与解决(二)

    2010-08-02 13:31:00
  • 添加到各大流行网摘 书签的代码

    2008-04-20 14:15:00
  • SQL常用数据库操作命令使用方法

    2007-08-22 13:24:00
  • SQL Data Services将成为云中完整的数据库

    2009-03-25 12:28:00
  • 如何获取浏览器的更多信息?

    2009-11-23 20:48:00
  • 网页代码中键盘操作相关标签教程

    2010-03-18 15:56:00
  • 单选的radia,和多选的checkbox如何判定选择?

    2008-11-26 12:29:00
  • asp如何验证IP地址?

    2010-06-10 18:37:00
  • 网页优化之加速图片显示(CSS Sprite)

    2007-09-29 21:39:00
  • JS 中如何判断 null

    2007-12-13 20:28:00
  • aspjpeg组件安装问题

    2008-09-27 17:52:00
  • 如何实现优惠打折?

    2010-06-03 10:27:00
  • css样式表使用技巧小结

    2008-01-11 20:44:00
  • asp如何验证信用卡是否可用?

    2010-06-10 18:39:00
  • 解析Oracle 8i/9i的计划稳定性

    2010-07-26 13:09:00
  • asp之家 网络编程 m.aspxhome.com