realpath
Возвращает полный путь без `..`, `.` и символических ссылок.
Синтаксис
realpath(string $path): string|falseПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $path | string | Путь. |
Возвращаемое значение
string|falseПолный путь или `false`, если файла нет.
Примеры
Путь с переходами наверх:
<?php
$dir = sys_get_temp_dir();
var_dump(realpath($dir . '/../' . basename($dir)) === realpath($dir));
var_dump(realpath($dir . '/no-such-file.txt'));Результат:
bool(true)
bool(false)Примечания
Так проверяют, что запрошенный файл лежит внутри разрешённой папки: полный путь должен начинаться с пути к ней.
См. также
- dirname — Возвращает путь к папке, в которой лежит файл.
- basename — Возвращает последнюю часть пути — имя файла.
- file_exists — Проверяет, существует ли файл или папка.
В учебнике
- Папки и пути — Работа с папками в PHP — создание, список файлов, поиск по маске, части пути и сведения о файле.