pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
pathinfo — Возвращает информацию о пути к файлу
Описание
$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() - Возвращает канонизированный абсолютный путь к файлу