这是一个你可以在网上随处看到的问题,有各种各样的答案:
$ext=end(分解('.',$filename));
$ext=substr(strrchr($filename,“.”),1);
$ext=substr($filename,strrpos($filename,'.')+1);
$ext=preg_replace('/^.*\.([^.]+)$/D','$1',$filename);
$exts=split(“[/\\.]”,$filename);
$n=计数($exts)-1;
$ext=$exts[$n];
等等
然而,总有“最好的方法”,应该是堆栈溢出
来自其他脚本语言的人总是认为他们的更好,因为他们有一个内置的函数来做这件事,而不是PHP(我现在正在看Pythonistas:-)
事实上,它确实存在,但很少有人知道它。满足路径信息():
$ext=pathinfo($filename,pathinfo\u扩展名);
这是快速和内置的pathinfo()可以根据传递给它的常量提供其他信息,例如规范路径
请记住,如果希望能够处理非ASCII字符,则需要首先设置区域设置。例如:
setlocale(LC_ALL,'en_US.UTF-8');
另外,请注意,这没有考虑文件内容或mime类型,您只获得扩展名。但这是你要求的
最后,请注意,这只适用于文件路径,而不适用于URL资源路径,这将使用PARSE_URL进行说明
享受