如何使 pathinfo() 返回正确的扩展名?
Posted
技术标签:
【中文标题】如何使 pathinfo() 返回正确的扩展名?【英文标题】:How to make pathinfo() return the right extension? 【发布时间】:2011-07-10 00:27:54 【问题描述】:$path = 'abc.jpeg';
$info = pathinfo($path,PATHINFO_EXTENSION);
echo $info['extension'];
由于某种原因返回 'j',而不是 'jpeg'
在调用 pathinfo() 之前我应该做些什么吗?
【问题讨论】:
【参考方案1】:如果将第二个参数传递给 pathinfo,则它不会返回数组。
你应该回显 $info。
来自文档 (realpath):
如果使用选项,如果不是所有元素都被请求,此函数将返回一个字符串。
访问$info['extension'];
恰好是访问字符串数组的第一个字符。
感谢蒂姆·库珀的评论。 (int)'extension'
的计算结果为 0。在有关 String 类型的文档中,“字符串访问和按字符修改”部分概述了如何将字符串作为数组访问,在它提到的注释中:
非整数类型转换为整数。
【讨论】:
它给你的第一个字符为:var_dump((int)'extension');
产生int(0)
@Tim 谢谢,我已经扩展了我的答案。有趣的是,通过字符串的数组访问,偏移量被转换为整数,并且刚刚了解到使用越界索引将用空格填充字符串。以上是关于如何使 pathinfo() 返回正确的扩展名?的主要内容,如果未能解决你的问题,请参考以下文章