(PHP 4 >= 4.0.3, PHP 5, PHP 7)
pathinfo — Возвращает информацию о пути к файлу
$path
   [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME
  ] )
   pathinfo() возвращает информацию о 
   path в виде ассоциативного массива или
   строки, в зависимости от options.
  
pathАнализируемый путь.
options
       Если указан, то задает, какой из элементов пути будет возвращен:
       PATHINFO_DIRNAME,
       PATHINFO_BASENAME,
       PATHINFO_EXTENSION и
       PATHINFO_FILENAME.
      
Если options не указан, то возвращаются
       все доступные элементы.
      
   Если параметр options не передан, то
   возвращаемый ассоциативный массив (array) 
   будет содержать следующие элементы:
   dirname, basename,
   extension (если есть) и filename.
  
Замечание:
Если
pathсодержит больше одного расширения, тоPATHINFO_EXTENSIONвозвращает только последнее иPATHINFO_FILENAMEотрезает только последнее расширение. (смотрите пример ниже).
Замечание:
Если
pathне содержит расширения, то не будет возвращен элемент extension (см. ниже второй пример).
Замечание:
Если basename параметра
pathначинается с точки, то все последующие символы интерпретируются как расширение файла(extension) и имя файла filename будет пустым (смотри третий пример).
   Если указан параметр options, будет возвращена
   строка (string), содержащая указанный элемент.
  
| Версия | Описание | 
|---|---|
| 5.2.0 | 
        Добавлена константа PATHINFO_FILENAME.
        | 
      
Пример #1 Пример использования функции pathinfo()
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // начиная с PHP 5.2.0
?>
Результат выполнения данного примера:
/www/htdocs/inc lib.inc.php php lib.inc
Пример #2 Пример с pathinfo(), показывающий разницу между null и отсутствием расширения
<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>
Результатом выполнения данного примера будет что-то подобное:
string(0) "" Notice: Undefined index: extension in test.php on line 6 Notice: Undefined index: extension in test.php on line 6 NULL
Пример #3 Пример pathinfo() для файла, начинающегося с точки
<?php
print_r(pathinfo('/some/path/.test'));
?>
Результатом выполнения данного примера будет что-то подобное:
Array
(
    [dirname] => /some/path
    [basename] => .test
    [extension] => test
    [filename] => 
)
Замечание:
Подробнее о получении информации о текущем пути, можно почитать в разделе "Предопределенные зарезервированные переменные".
Замечание:
pathinfo() учитывает настройки локали, поэтому для корректной обработки пути с многобайтными символами должна быть установлена соответствующая локаль с помощью функции setlocale().