PHP获取文件后缀有哪些方法?

153 2月之前 PHP

答案

有以下几种方法:

$filename = 'x.y.z.png';

// 方法1
echo substr(strrchr($filename, '.'), 1);
echo substr($filename, strrpos($filename, '.') + 1);

// 方法2
echo end(explode('.', $filename));
echo array_pop(explode('.', $filename));

// 方法3
echo pathinfo($filename)['extension'];
echo pathinfo($filename, PATHINFO_EXTENSION);

答案解析

函数说明:

  • strrchr($filename, '.') 查找.在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
  • strrpos($filename, '.') 查找 . 在字符串中最后一次出现的位置,返回位置
  • substr($str, $start)$start位置开始截取字符串
  • end() 返回数组的最后一个元素
  • array_pop() 弹出数组最后一个元素
  • pathinfo() 函数以数组的形式返回文件路径的信息,包括[dirname][basename][extension]等数组元素

参考资料