/ pathinfo

PHP获取文件扩展名的方法

推荐的方法:

echo pathinfo('/www/htdocs/your_image.jpg', PATHINFO_EXTENSION);

pathinfo详解:

$file_path = pathinfo('/www/htdocs/your_image.jpg');
echo "$file_path ['dirname']\n";
echo "$file_path ['basename']\n";
echo "$file_path ['extension']\n";
echo "$file_path ['filename']\n"; // only in PHP 5.2+

以上将输出

  • /www/htdocs
  • your_image.jpg
  • jpg
  • your_image
注意: pathinfo 支持第3个参数
  • PATHINFO_DIRNAME - 目录
  • PATHINFO_BASENAME - 文件名(含扩展名)
  • PATHINFO_EXTENSION - 扩展名
  • PATHINFO_FILENAME - 文件名(不含扩展名)
其它不推荐的写法:

你可能会这样写

function get_file_extension($file_name) {
    return substr(strrchr($file_name,'.'),1);
}

或这样写

function file_extension($filename) {
    return end(explode(".", $filename));
}

之所以不推荐以上两种方法,主要基于效率考虑。

来源:PHP获取文件扩展名的正确方法