Как заставить pathinfo () возвращать правильное расширение? - PullRequest
1 голос
/ 07 марта 2011
$path = 'abc.jpeg';
$info = pathinfo($path,PATHINFO_EXTENSION);
echo $info['extension'];

По какой-то причине это возвращает 'j' вместо 'jpeg'

Что мне нужно сделать перед вызовом pathinfo ()?

1 Ответ

6 голосов
/ 07 марта 2011

Если вы передадите второй аргумент в pathinfo, он не вернет массив.

Вам просто нужно вывести $ info.

Из документов ( realpath ):

Если используются опции, эта функция будет возвращать строку, если не все элементы запрошены.

При обращении к $info['extension']; происходит доступ к первому символумассива строк.

Благодаря комментарию Тима Купера.Значение (int)'extension' равно 0. В документации по типу String в разделе «Доступ к строкам и их модификация по символам» описано, как к строкам можно обращаться как к массивам, в примечании, которое он упоминает:

Нецелые типы преобразуются в целые.

...