PHP: функция преобразования к каноническому пути

На замену realpath, который работает только с реально существующими файлами и папками UNIX, а также не работающий для ссылок, я написал функцию получения канонического пути.

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

Get_canonical_path функция

Функция get_canonical_path($path) зачищает путь от возможных элементов вроде // или /./ и вычисляет навигацию /../. Также канонический путь не содержит в конце слеш.

Обратите внимание, что т.к. результатом является строка без терминального слеша, то для корневого пути функция возвращает пустую строку.

Иронично, что эту функцию я выковырял из какого-то заброшенного проекта (не обновлявшегося с 2009 года — https://github.com/LFSF/oras). Назначение архива мне не известно, но пригодилась данная функция. Я её немного причесал и адаптировал, чтобы она работала не только с директориями, но и с файлами. Спасибо тебе, неизвестный автор :).

Написать комментарий

Мало букафф? Читайте есчо !

Получение превью (картинки) для видео vimeo

Август 23, 2019 г.

Рассмотрим как получить thumbnail для видео vimeo, если у вас есть только url видоса. Vimeo позволяет извлечь мета информацию о видео, используя video id. Потому мы сначала выделим id, а потом выполним запрос к API Vimeo за дополнительной информацией, ...

Читать

Импорт материалов из Instagram

Август 27, 2018 г.

У instagram есть API, который устареет до конца 2018 года. Всех пересаживают на новую платформу -  Instagram Graph API. Регистрация приложения на этой ...

Читать

 

Комментарии к «PHP: функция преобразования к каноническому пути»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: