(PHP 4 >= 4.0.3, PHP 5)
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
не содержит расширения, то не будет возвращен элемент 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().