realpath

(PHP 4, PHP 5, PHP 7)

realpathВозвращает канонизированный абсолютный путь к файлу

Описание

realpath ( string $path ) : string|false

realpath() раскрывает все символические ссылки, переходы типа /./, /../ и лишние символы / в пути path, возвращая канонизированный абсолютный путь к файлу.

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

path

Проверяемый путь.

Замечание:

Несмотря на то, что путь должен быть указан, переданное значение может быть пустой строкой. В этих случаях значение интерпретируется как текущая рабочая директория.

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

В случае успеха возвращает канонизированный абсолютный путь. Результирующий путь не содержит символических ссылок и компонентов наподобие /./ или '/../. Разделители \ и / в конце пути также удаляются.

realpath() возвращает false при неудаче, например, если файл не существует.

Замечание:

Запускаемый скрипт должен иметь права запуска на всех директориях в проверяемой иерархии, иначе realpath() вернет false.

Замечание:

Для регистронезависимых файловых систем, realpath() может нормализовать или не нормализовать регистр символов.

Замечание:

Функция realpath() не будет работать с файлом внутри архива Phar, так как путь может быть не реальным, а виртуальным.

Замечание:

В Windows переходы и символические ссылки на каталоги расширяются только на один уровень.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2 Гб.

Примеры

Пример #1 Пример использования функции realpath()

<?php
chdir
('/var/www/');
echo 
realpath('./../../etc/passwd') . PHP_EOL;

echo 
realpath('/tmp/') . PHP_EOL;
?>

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

/etc/passwd
/tmp

Пример #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() - Возвращает информацию о пути к файлу