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

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

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

Get_canonical_path функция

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

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

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

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

PHP код для калькулятора боёв Dragons of Atlantis

Июль 3, 2012 г.

Выкладываю php код, по просьбе Blagtoof. Забавно, что это кому то может быть нужно. :) А мне не жалко. Забросил по понятным причинам саму игру. Скачать как файл (download php code as text file). [crayon-69ab25d763332311154155/]

Читать

Поиск и замена терминов. Пример реализации.

Август 15, 2016 г.

Задача поиска и замены каких либо терминов в тексте кажется на первый взгляд довольно простой в PHP.  Есть очень мощные инструменты вроде str_replace, а также поиск и замена с помощью регулярных выражений, например, preg_replace и preg_replace_callback. ...

Читать

Работа с картинками в API Drupal 7

Сентябрь 28, 2015 г.

Собрал здесь несколько полезных функций, которые могут быть полезны для работы с полем изображений в Drupal семерочке. Данная коллекция представляет из себя закладку с примерами. В памяти всё не удержишь, приходится ползать по выполненным проектам - копипастить ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-69ab25d763a46927614876/] Для того чтобы в ...

Читать
 

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

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



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