猿问

如何在PHP中获取(解压缩)文件扩展名?

如何在PHP中获取(解压缩)文件扩展名?

这是一个你可以在网上随处可见的问题,有各种各样的答案:

$ext = end(explode('.', $filename));$ext = substr(strrchr($filename, '.'), 1);$ext = substr($filename, strrpos($filename, '.') + 1);
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);$exts = split("[/\\.]", $filename);$n    = count($exts)-1;$ext  = $exts[$n];

等。

然而,总有“最好的方式”,它应该在堆栈溢出。


潇潇雨雨
浏览 640回答 3
3回答

www说

来自其他脚本语言的人总是认为他们的脚本更好,因为他们有一个内置的函数,而不是PHP(我现在正在看Pythonistas:-)。事实上,它确实存在,但很少有人知道它。相会pathinfo():$ext = pathinfo($filename, PATHINFO_EXTENSION);这是快速和内置的。pathinfo()可以根据传递给它的常量提供其他信息,例如规范路径。请记住,如果您希望能够处理非ASCII字符,则需要首先设置区域设置。例如:setlocale(LC_ALL,'en_US.UTF-8');另外,请注意,这没有考虑到文件内容或MIME类型,您只有扩展名。但这是你要的。最后,请注意,这只适用于文件路径,而不是URL资源路径,而解析_URL将覆盖该路径。享受

慕沐林林

pathinfo()$path_info = pathinfo('/foo/bar/baz.bill');echo $path_info['extension']; // "bill"
随时随地看视频慕课网APP
我要回答