Эмпирические правила каталога PHP?


Я пытаюсь убедиться, что мои пути к файлам настолько надежны, насколько это возможно, и все знают, что пути жесткого кодирования во многих случаях могут быть катастрофическими. Существуют ли какие-либо общие эмпирические правила, касающиеся ссылок на пути? В основном это касается ссылок выше $_SERVER['DOCUMENT_ROOT'].

Я делал../../(x100000), но это выглядит грязно, и я надеялся, что есть более чистый способ.

Спасибо

Author: Joshua, 2011-06-30

3 answers

Чтобы получить текущий каталог запущенного скрипта, я обычно делаю:

str_replace('//', '/', str_replace('\\', '/', dirname(__FILE__) . '/'));

Это немного банально, но это надежный АФАИК.

Но я думаю, что это не будет работать с Windows UNC-пути (если вы их используете)...

 0
Author: AlexV, 2011-06-30 17:53:44

Чтобы получить текущий рабочий каталог: getcwd();

Чтобы получить имя каталога currect: basename(getcwd());

 2
Author: Neal, 2011-06-30 17:56:11

Извлеките урок из фреймворка Codeigniter (который, как известно, хорошо обрабатывает относительные пути).

Взгляните на код в индексном файле:

Https://github.com/philsturgeon/codeigniter-reactor/blob/master/index.php

Вы можете видеть, что существует множество способов справиться с этим сценарием (некоторые лучше других), но этот файл покажет вам лучшие методы.

 0
Author: Swift, 2011-06-30 17:52:18