如何让pathinfo()返回正确的扩展名?
$path = 'abc.jpeg';
$info = pathinfo($path,PATHINFO_EXTENSION);
echo $info['extension'];
由于某种原因,这会返回 'j',而不是 'jpeg'
在调用 pathinfo() 之前我应该做些什么吗?
$path = 'abc.jpeg';
$info = pathinfo($path,PATHINFO_EXTENSION);
echo $info['extension'];
This is returning 'j' for some reason, instead of 'jpeg'
Is there anything I should do before calling pathinfo() ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果将第二个参数传递给 pathinfo,则它不会返回数组。
你应该只回显$info。
从文档(realpath):
访问
$info['extension'];
恰好是访问字符串数组的第一个字符。感谢蒂姆·库珀的评论。
(int)'extension'
的值为 0。在 String 类型概述了如何将字符串作为数组访问,在它提到的注释中:If you pass a second argument to pathinfo, then it doesn't return an array.
You should just echo $info.
From the docs (realpath):
Accessing
$info['extension'];
happens to be accessing the first character of the string array.Thanks to Tim Cooper's comment.
(int)'extension'
evaluates to 0. In the documention on the String type in the section "String access and modification by character" outlines how strings can be accessed as arrays, in the note it mentions: