Возвращает информацию о пути к файлу


(PHP 4 >= 4.0.3, PHP 5)

pathinfoВозвращает информацию о пути к файлу

Описание

mixed pathinfo ( string $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 (см. ниже второй пример).

Если указан параметр 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 

Примечания

Замечание:

Подробнее о получении информации о текущем пути, обратитесь к секции " Предопределенные зарезервированные переменные".

Замечание:

pathinfo() учитывает настройки локали, поэтому для корректной обработки пути с многобайтными символами должна быть установлена соответствующая локаль с помощью функции setlocale().

Смотрите также

  • dirname() - Возвращает имя родительского каталога из указанного пути
  • basename() - Возвращает последний компонент имени из указанного пути
  • parse_url() - Разбирает URL и возвращает его компоненты
  • realpath() - Возвращает канонизированный абсолютный путь к файлу