realpath
(PHP 4, PHP 5, PHP 7, PHP 8)
realpath — Возвращает канонизированный абсолютный путь к файлу
Список параметров
path
-
Проверяемый путь.
Замечание:
Параметр пути хотя и обязательный, но принимает пустую строку,
которую функция интерпретирует как текущий каталог.
Возвращаемые значения
При успешном выполнении функция возвращает канонизированный абсолютный путь,
который получился после преобразования символической ссылки, разрешения компонентов
/./
или /../
и удаления разделителей \
или /
в конце пути.
Функция realpath() возвращает значение false
, если возникла ошибка,
например если файловая система не содержит файл или каталог.
Замечание:
Для запускаемого скрипта потребуются права на выполнение для каждого каталога
в иерархии, иначе функция realpath() вернёт значение false
.
Замечание:
В регистронезависимых файловых системах функция realpath() возвращает абсолютный путь
с непредсказуемым регистром символов, поскольку за нормализацию регистра отвечает операционная система, а не функция.
Замечание:
Функция realpath() не работает
с файлами внутри Phar-архива, поскольку пути в таком архиве виртуальны,
а не реальны.
Замечание:
В ОС Windows точки соединения для каталогов и символические ссылки на каталоги разворачиваются
только на один уровень.
Замечание:
На 32-разрядных платформах отдельные PHP-функции для работы с файловой системой иногда возвращают
неожиданные результаты для файлов размером больше 2 ГБ, поскольку в PHP тип integer хранит числа со знаком,
а архитектура платформы ограничивает диапазон положительных значений типа.
Примеры
Пример #1 Пример преобразования относительного пути в абсолютный функцией realpath()
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
Результат выполнения приведённого примера:
Пример #2 Пример работы функции realpath() в ОС Windows
В системах Windows функция realpath() изменит пути в стиле Unix
на стиль Windows.
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>
Результат выполнения приведённого примера:
C:\WINDOWS\System32
C:\Program Files
Смотрите также
- basename() - Возвращает конечный компонент имени пути
- dirname() - Возвращает путь к родительскому каталогу
- pathinfo() - Возвращает информацию о пути к файлу