当前位置:首页 > PHP教程 > php文件操作 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2023-06-24 18:17:19 浏览: 评论:0 

在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()函数从字符串获取文件扩展名。

例子:

  1. $file = 'folder/directory/file.html'
  2. $ext = pathinfo($file, PATHINFO_EXTENSION); 
  3. // Returns html 
  4. echo $ext
  5.    
  6. $file = 'folder/directory/file.html'
  7. $ext = pathinfo($file); 
  8.    
  9. echo $ext['dirname'] . '<br/>';   // Returns folder/directory 
  10. echo $ext['basename'] . '<br/>';  // Returns file.html 
  11. echo $ext['extension'] . '<br/>'// Returns .html 
  12. echo $ext['filename'] . '<br/>';  // Returns file 

PHP SplFileInfo获取文件后缀

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

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

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

语法:

string SplFileInfo::getExtension( void )

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

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

  1. <?php  
  2. $GFG = array(  
  3.     "/home/rajvir/Desktop/GeeksforGeeks/dummy.php",  
  4.     "/home/rajvir/Desktop/gfg.txt",  
  5.     "/var/www/html/gfg.php",  
  6.     "demo.c" 
  7. );  
  8.      
  9. foreach ($GFG as &$file_name) {  
  10.          
  11.     // Create new SPlFileInfo Object  
  12.     $file = new SplFileInfo($file_name);  
  13.          
  14.     // Print result  
  15.     echo $file->getExtension() . "</br>";  
  16. }  
  17. ?> 

输出:

php

txt

php

c

PHP substr()和strrchr()函数获取文件扩展名

substr() 函数返回字符串的一部分。

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

结合这两个函数的功能,我们可以写一个php自定义函数获取文件扩展名。

下面的自定义函数是我写的:

  1. function get_file_extension($file_name) { 
  2.     return substr(strrchr($file_name,'.'),1); 

注意:php获取文件后缀的方法有很多种,本文章只列举三种方法。各位php大佬也可以使用其他方法来实现。

Tags: php获取文件扩展名

分享到: