Эмпирические правила каталога PHP?
Я пытаюсь убедиться, что мои пути к файлам настолько надежны, насколько это возможно, и все знают, что пути жесткого кодирования во многих случаях могут быть катастрофическими. Существуют ли какие-либо общие эмпирические правила, касающиеся ссылок на пути? В основном это касается ссылок выше $_SERVER['DOCUMENT_ROOT'].
Я делал../../(x100000), но это выглядит грязно, и я надеялся, что есть более чистый способ.
Спасибо
3 answers
Чтобы получить текущий каталог запущенного скрипта, я обычно делаю:
str_replace('//', '/', str_replace('\\', '/', dirname(__FILE__) . '/'));
Это немного банально, но это надежный АФАИК.
Но я думаю, что это не будет работать с Windows UNC-пути (если вы их используете)...
Чтобы получить текущий рабочий каталог: getcwd();
Чтобы получить имя каталога currect: basename(getcwd());
Извлеките урок из фреймворка Codeigniter (который, как известно, хорошо обрабатывает относительные пути).
Взгляните на код в индексном файле:
Https://github.com/philsturgeon/codeigniter-reactor/blob/master/index.php
Вы можете видеть, что существует множество способов справиться с этим сценарием (некоторые лучше других), но этот файл покажет вам лучшие методы.