首页  >  文章  >  后端开发  >  如何从文件名中提取真实的文件扩展名?

如何从文件名中提取真实的文件扩展名?

DDD
DDD原创
2024-11-02 03:22:02482浏览

How Can You Extract the True File Extension from a Filename?

确定真实的文件扩展名

许多开发人员都遇到需要从文件名中提取文件扩展名的情况。虽然通常采用简单地解析文件名字符串并截断句点 (.) 之后的任何内容的解决方案,但这种方法可能会导致结果不准确,尤其是在文件名包含多个扩展名的情况下。

例如,以下内容脚本可能无法正确删除扩展名:

  • /.[^.] $/
  • substr($filename, 0, (strlen ($filename)) - (strlen (strrchr) ($filename,'.'))))

这两个脚本都依赖分隔符 ('.') 来隔离扩展名。但是,如果文件名包含类似“This.is example of somestring”的字符串,则它们只会删除第一个句点并生成“This”,而不是所需的结果“somestring”。

使用pathinfo() 用于准确删除扩展名

为了避免此类违规行为,建议利用 PHP 提供的 pathinfo() 函数。此函数提供了一种可靠的方法来获取有关文件路径的各种信息,包括文件名和扩展名。

考虑以下示例:

$filename = pathinfo('filename.md.txt', PATHINFO_FILENAME); // returns 'filename.md'

通过指定 PATHINFO_FILENAME 作为第二个参数,pathinfo () 隔离给定路径的文件名部分,包括任何扩展名。如上所示,如果文件名包含多个扩展名,pathinfo() 将正确提取真实的扩展名。

以上是如何从文件名中提取真实的文件扩展名?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn