如何在PHP中获得文件的扩展名? [英] How to get a file's extension in PHP?

查看:33
本文介绍了如何在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];

但是,总有"最佳方法",它应该在堆栈溢出上。

推荐答案

来自其他脚本语言的人总是认为他们的脚本语言更好,因为他们有一个内置的函数来实现这一点,而不是php(我现在正在查看Pythonistas:-)。

事实上,它确实存在,但很少有人知道。满足pathinfo()

$ext = pathinfo($filename, PATHINFO_EXTENSION);

这是快速和内置的。pathinfo()可以提供其他信息,如规范路径,具体取决于传递给它的常量。

请记住,如果您希望能够处理非ASCII字符,则需要首先设置区域设置。例如:

setlocale(LC_ALL,'en_US.UTF-8');
还请注意,这没有考虑文件内容或MIME类型,您只获得扩展名。但这是你要的。

最后,请注意,这仅适用于文件路径,而不适用于URL资源路径,后者由parse_url涵盖。

尽情享受

这篇关于如何在PHP中获得文件的扩展名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆