$filename = 'a.b.c.png';
1.echo substr(strrchr($filename, '.'), 1);
解析:strrchr($filename, '.')
strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
2.echo substr($filename, strrpos($filename, '.')+1);
解析:strrpos($filename, '.')
查找 "." 在字符串中最后一次出现的位置,返回位置 substr()从该位置开始截取
3.$arr=explode('.', $filename);
echo $arr[count($arr)-1];
解析:explode() 函数把字符串按指定分隔符打散为数组。
4.$arr=explode('.', $filename);
echo end($arr);
解析:end()返回数组的最后一个元素
5.echo strrev(explode('.', strrev($filename))[0]);
解析:strrev() 函数反转字符串.
strrev($filename)反转之后字符串为: gnp.c.b.a;使用exploder分割字符串,结果为:
array (size=4)
0 => string 'gnp' (length=3)
1 => string 'c' (length=1)
2 => string 'b' (length=1)
3 => string 'a' (length=1)
最后,再次使用strrev将数组中的第一个元素gnp翻转为png
6.echo pathinfo($filename)['extension'];
解析:pathinfo() 函数以数组的形式返回文件路径的信息。数组包含的元素有:
[dirname]、[basename]、[extension]
可选的值:
- PATHINFO_DIRNAME - 只返回 dirname
- PATHINFO_BASENAME - 只返回 basename
- PATHINFO_EXTENSION - 只返回 extension
7.echo pathinfo($filename, PATHINFO_EXTENSION);
解析:PATHINFO_EXTENSION - 返回扩展名
以上7种方法输出结果都为png
获取文件后缀名方法总结:字符串截取2种,数组分割3种,路径函数2种
以上代码测试环境 PhpStorm 2016, PHP 5.6.16,操作系统MAC OS10.12.4