Перейти к содержимому

realpath()

Введение

В PHP функция realpath() возвращает абсолютный путь к файлу или каталогу. Она особенно полезна для нормализации путей и разрешения символических ссылок. В этой статье рассматриваются её синтаксис, поведение и практические примеры.

Как работает функция realpath()

Функция realpath() принимает строку с путём и возвращает канонический абсолютный путь. Она автоматически разрешает сегменты . и .., удаляет завершающие косые черты и следует за символическими ссылками до их реальных целей. Если указанный путь не существует или не может быть разрешён, функция возвращает false.

Синтаксис функции realpath()

Синтаксис функции realpath() выглядит следующим образом:

php
realpath($path);

Здесь $path — это путь к файлу или каталогу. Функция возвращает разрешённый абсолютный путь в виде строки или false в случае ошибки.

Примеры использования realpath()

Рассмотрим несколько примеров использования функции realpath() в PHP.

Пример 1: Получение абсолютного пути к файлу

php
<?php

$file_path = 'example.txt';
$absolute_path = realpath($file_path);

if ($absolute_path !== false) {
    echo $absolute_path;
} else {
    echo "File not found.";
}

В этом примере демонстрируется получение абсолютного пути к файлу example.txt и безопасная обработка случаев, когда файл не существует.

Пример 2: Получение абсолютного пути к каталогу

php
<?php

$dir_path = 'example_directory';
$absolute_path = realpath($dir_path);

if ($absolute_path !== false) {
    echo $absolute_path;
} else {
    echo "Directory not found.";
}

В этом примере абсолютный путь к каталогу example_directory определяется с помощью realpath(), а также предусмотрена базовая обработка ошибок для отсутствующих каталогов.

Заключение

Функция realpath() — это надёжный инструмент для нормализации путей и разрешения символических ссылок в PHP. Проверяя возвращаемое значение на false, вы можете убедиться, что ваши скрипты корректно обрабатывают отсутствующие файлы или каталоги. Используйте её для создания более надёжного управления путями в ваших проектах.

Практика

Какова функция realpath() в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.