php获取文件扩展名

博客围绕PHP这一后端开发语言展开。PHP是常用的后端开发语言,在后端开发领域有广泛应用,能助力开发者高效完成后端相关开发任务。

 

 

 

PHP获取文件后缀名有多种方法,以下为你详细介绍: ### 使用`pathinfo()`函数 `pathinfo()`函数以数组的形式返回文件路径的信息,可通过指定参数或直接访问数组元素获取文件扩展名。 ```php // 方法一:通过数组元素获取 $file = 'x.y.z.png'; $info = pathinfo($file); $extension = $info['extension']; echo $extension; // 方法二:通过指定参数获取 $file = 'x.y.z.png'; $extension = pathinfo($file, PATHINFO_EXTENSION); echo $extension; ``` ### 使用`SplFileInfo`类 `SplFileInfo`类提供了面向对象的方式来处理文件信息,可通过`getExtension()`方法获取文件扩展名。 ```php $file = 'x.y.z.png'; $fileInfo = new SplFileInfo($file); $extension = $fileInfo->getExtension(); echo $extension; ``` ### 使用字符串处理函数 #### 使用`substr()`和`strrchr()`函数 `strrchr()`函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符,再使用`substr()`函数截取掉点号。 ```php $file = 'x.y.z.png'; $extension = substr(strrchr($file, '.'), 1); echo $extension; ``` #### 使用`substr()`和`strrpos()`函数 `strrpos()`查找 “.” 在字符串中最后一次出现的位置,返回位置,再用`substr()`从该位置开始截取。 ```php $file = 'x.y.z.png'; $extension = substr($file, strrpos($file, '.') + 1); echo $extension; ``` ### 使用数组分割方法 #### 使用`explode()`函数 `explode()`函数将字符串按点号分割成数组,然后取数组的最后一个元素。 ```php // 方法一:使用count()函数获取最后一个元素 $file = 'x.y.z.png'; $arr = explode('.', $file); $extension = $arr[count($arr) - 1]; echo $extension; // 方法二:使用end()函数获取最后一个元素 $file = 'x.y.z.png'; $arr = explode('.', $file); $extension = end($arr); echo $extension; ``` #### 使用`preg_split()`函数 `preg_split()`函数使用正则表达式将字符串按点号分割成数组,然后取数组的最后一个元素。 ```php $file = 'x.y.z.png'; $arr = preg_split('/\./', $file); $extension = end($arr); echo $extension; ``` ### 其他方法 #### 使用`strrev()`函数 先将字符串反转,然后按点号分割,取第一个元素再反转回来。 ```php $file = 'x.y.z.png'; $extension = strrev(explode('.', strrev($file))[0]); echo $extension; ``` #### 使用`preg_match_all()`函数 使用正则表达式匹配所有以点号开头的扩展名,然后取最后一个匹配结果并去掉点号。 ```php $file = 'x.y.z.png'; preg_match_all('/\.[a-zA-Z0-9]+/', $file, $data); $extension = !empty($data[0]) ? substr(end($data[0]), 1) : ''; echo $extension; ``` #### 使用`str_replace()`函数 结合`strrchr()`函数,将最后一次出现的点号替换为空字符串。 ```php $file = 'x.y.z.png'; $extension = str_replace('.', '', strrchr($file, '.')); echo $extension; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值