pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7)

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

Описание

pathinfo ( string $path , int $flags = PATHINFO_ALL ) : array|string

pathinfo() возвращает информацию о path в виде ассоциативного массива или строки, в зависимости от flags.

Замечание:

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

Предостережение

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

Список параметров

path

Анализируемый путь.

flags

Если указан, то задает, какой из элементов пути будет возвращен: PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION и PATHINFO_FILENAME.

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

Возвращаемые значения

Если параметр flags не передан, то возвращаемый ассоциативный массив (array) будет содержать следующие элементы: dirname, basename, extension (если есть) и filename.

Замечание:

Если path содержит больше одного расширения, то PATHINFO_EXTENSION возвращает только последний и PATHINFO_FILENAME удаляет только последнее расширение. (см. пример ниже).

Замечание:

Если path не содержит расширения, то не будет возвращен элемент extension (см. ниже второй пример).

Замечание:

Если basename параметра path начинается с точки, то все последующие символы интерпретируются как расширение файла (extension) и имя файла filename будет пустым (см. третий пример).

Если указан параметр flags, будет возвращена строка (string), содержащая указанный элемент.

Примеры

Пример #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
NULL

Пример #3 Пример pathinfo() для файла, начинающегося с точки

<?php
print_r
(pathinfo('/some/path/.test'));
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [dirname] => /some/path
    [basename] => .test
    [extension] => test
    [filename] => 
)

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

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