Erlang. Сделать относительный путь абсолютным - PullRequest
2 голосов
/ 20 декабря 2011

У меня есть относительный URL и абсолютный путь, и я хочу преобразовать его в абсолютный путь.

Попытался использовать имя файла: abspath ("test", "/ root /").и он работает, но не с относительными путями, такими как "../", например имя файла: abspath ("../", "/ root /").дает "/root/../"

У кого-нибудь есть простое решение?

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

В документации к имени файла: absname / 1 говорится: «Не делается попытка создать самое короткое абсолютное имя, потому что это может дать неверные результаты в файловых системах, которые допускают ссылки.»

Если ваш пример имени файла: abspath ("../", "/ root /") даст вам "/" ("оптимизированный" путь) вместо "/root/../", он может на самом деле ссылаться в неправильный каталог, если «/ root» является ссылкой на другой каталог, например «/ foo / bar / baz». Вы уверены, что вам нужен оптимизированный путь? Результат из abspath / 2 верный, но, возможно, не "симпатичный".

2 голосов
/ 20 декабря 2011

Попробуйте взглянуть на источники mochiweb это может быть полезно

...