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

答案

有以下几种方法:

  1. $filename = 'x.y.z.png';
  2. // 方法1
  3. echo substr(strrchr($filename, '.'), 1);
  4. echo substr($filename, strrpos($filename, '.') + 1);
  5. // 方法2
  6. echo end(explode('.', $filename));
  7. echo array_pop(explode('.', $filename));
  8. // 方法3
  9. echo pathinfo($filename)['extension'];
  10. echo pathinfo($filename, PATHINFO_EXTENSION);

答案解析

函数说明:

  • strrchr($filename, '.') 查找.在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符

  • strrpos($filename, '.') 查找 . 在字符串中最后一次出现的位置,返回位置

  • substr($str, $start)$start位置开始截取字符串

  • end() 返回数组的最后一个元素

  • array_pop() 弹出数组最后一个元素

  • pathinfo() 函数以数组的形式返回文件路径的信息,包括[dirname][basename][extension]等数组元素

参考资料