0

PHP获取文件后缀名的七种方法

$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