PHP获取文件扩展名的5种方法

// 用5种以上方式获取文件的后缀
// 例: a.jpeg.exe, 获得 exe,或者 .exe



$file = 'a.jpeg.exe';

// 方法1
function getext($file) {
    return strrchr($file,'.');
}

echo getext($file),'<br />';


// 找最后一个 . 出现的位置,再substr截取
// strrpos是找子字符最后一次出现的位置
// 

$file = 'a.jpeg';

function getext2($file) {
    return substr($file,strrpos($file,'.'));
}
echo getext2($file),'<br />';


// 把字符串反过来,然后再找第一个点出现的位置.
function getext3($file) {
    $file = strrev($file);
    return strrev(substr($file,0,strpos($file,'.')));
}

echo getext3($file),'<br />';

// 用系统函数 pathinfo

function getext4($file) {
    /*
    $arr = pathinfo($file);
    return $arr['extension'];
    */

    return pathinfo($file,PATHINFO_EXTENSION);

}

echo getext4($file);

// 如果学了数组,还可以有多种做法. 先讨论到此.


以上内容出自燕十八公益教学学习心得!!

php公益教学永久免费 

yy教学频道:88354001  yy群号:7840433
每周一到周五晚上8点-10点上课。
如果临时有事缺课,教学视频可从官网下载
学习官网http://www.zixue.it 
学习过程中有问题也可以随时发帖求助
yy群不是qq群。

讲师介绍:

燕十八(PHP主讲老师,在北京授课)
职 务:高级讲师、企业培训讲师
        燕十八,原名刘道成,资深PHP工程师, 拥有多年PHP网站开发实际经验,先后担任过高级软件开发工程师,项目经理.为国内某大型旅行社开发过在线旅游网站.热衷于主流PHP框架和开源产品的研究,先后在国内数高校担任PHP讲师,mysql讲师.讲课风格:生动形象,于生活常见的事物中,把计算机的复杂概念讲解清楚.言辞幽默,课堂气氛轻松活泼.深得学生喜爱。




观看视频录像,请登录IT自学坛论下载


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、付费专栏及课程。

余额充值