PHP – 获取文件扩展名的正确方法
继续弱智问题…常见于PHP笔试题-.-
原文地址:http://www.21andy.com/blog/20100309/1758.html
直接给最终正确答案
1 |
echo pathinfo('/www/htdocs/your_image.jpg', PATHINFO_EXTENSION); |
错误写法:
你可能会这样写
1 2 3 |
function get_file_extension($file_name) { return substr(strrchr($file_name,'.'),1); } |
或这样写
1 2 3 |
function file_extension($filename) { return end(explode(".", $filename)); } |
顺便看下pathinfo 干些什么
1 2 3 4 5 6 |
$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+ |
以上将输出
1 2 3 4 |
/www/htdocs your_image.jpg jpg your_image |
注意: pathinfo 支持第3个参数
* PATHINFO_DIRNAME – 目录
* PATHINFO_BASENAME – 文件名(含扩展名)
* PATHINFO_EXTENSION – 扩展名
* PATHINFO_FILENAME – 文件名(不含扩展名)