Относительные пути...

kombat

Новичок
Автор оригинала: cDLEON
Мля...Я сейчас матюкаться начну.
Скинь мне пожалуйсто переделанный и попробыванный мой код.
тысяча чертей.. каналья )) я уже слюнями брызгаю ))

Я не пробывал но и так понятно что твой код не работает.. посмотри на мой код и напиши если не трудно словами в чем его недостатки... и мы закроем тему.. а то я не мойму че ты хочешь сказать

/dir4/4.php:
PHP:
<?php
$rootdir = "./../"; // путь к корню проекта
require($rootdir."dir/2.php");
?>
/dir/2.php:
PHP:
<?php
//обратите внимание, в этом файле $rootdir не объявляется. он инициализируется в /dir4/4.php (или в /1.php)
require($rootdir."dir/dir3/3.php"); // путь будет от корня проекта
?>
все работает даже если инклудить из /1.php:
PHP:
<?php
$rootdir = "./"; // корень
require($rootdir."dir/2.php");
?>
 

dimagolov

Новичок
kombat
недостаток один. твой $rootdir разный для каждого уровня относительно корня. при переносе модуля из уровня в уровень надо не просто менять на фиксированное значение (как при переносе из проекта в проект при абсолютном пути) а вычислять какое значение будет для данной директории.
если путь абсолютный, то неважно откуда по нему делается инклюд и при переносе некой коллекции модулей в другой проект все что надо заменить у них у всех подстроку со старым корнем на новый корень один раз и все.
 

cDLEON

Онанист РНРСlub
Ну коль вам трудно, то и мне....до одного места ваши проблемы.
 

kombat

Новичок
Автор оригинала: dimagolov
kombat
недостаток один. твой $rootdir разный для каждого уровня относительно корня. при переносе модуля из уровня в уровень надо не просто менять на фиксированное значение (как при переносе из проекта в проект при абсолютном пути) а вычислять какое значение будет для данной директории.
если путь абсолютный, то неважно откуда по нему делается инклюд и при переносе некой коллекции модулей в другой проект все что надо заменить у них у всех подстроку со старым корнем на новый корень один раз и все.
Ну наконец-то нашелся кто-то кто смог по человечески ответить. СПАСИБО, dimagolov. теперь проблему вижу!

PS cDLEON, вы не вникли в мой код еще и обвиняете меня в неуважении... :) только не надо щас заявлять что вы говорили о той же проблеме что и dimagolov.
 

HraKK

Мудак
Команда форума
kombat
Самое интересно такой ответ был дан, вроде позавчера, на тот же вопрос - отсюда какой вывод?
 

Андрейка

Senior pomidor developer
dimagolov
а вычислять какое значение будет для данной директории.
ну на простом Core2 это значение высчитывается максимум за неделю, не больше..

вообще на примере выше пояснить мона? а то я, в отличие от топикстартера, ниче не понял(
 

kombat

Новичок
Автор оригинала: HraKK
kombat
Самое интересно такой ответ был дан, вроде позавчера, на тот же вопрос - отсюда какой вывод?
Блин тупанул признаю.. сплю уже.

по воводу ответа dimagolov'а - не согласен. так и так придется менять путь к корню. просто если перенести систему модулей например на один уровень ниже то $rootdir дополнится "/../" и ничего там высчитывать не надо. а в случае с абсолютными путями надо будет дописать название новой папки. в общем преимущества абсолютных путей перед моим способом ВСЕ РАВНО не вижу!

PS dimagolov, слова благодарности назад не забираю. всегда ценил адекватных людей, которые могут общаться в нормальном тоне без оскорблений :)
 

HraKK

Мудак
Команда форума
Ты не оттуда копаешь. Чем абсолютные пути хуже относительных. Сюда копай - ответ тебе сразу дам, нечем.
Поэтому не долбай не себе не людям моск, пожалуйста твои темы уже парят.
 

HraKK

Мудак
Команда форума
у. Для этого надо прокачать заклинания абсолютной власти! Заюзать абсолютный зор, который откроет тебе абсолютный путь!
 

kombat

Новичок
Автор оригинала: HraKK
Ты не оттуда копаешь. Чем абсолютные пути хуже относительных. Сюда копай - ответ тебе сразу дам, нечем.
Поэтому не долбай не себе не людям моск, пожалуйста твои темы уже парят.
т.е. я правильно понял: мой метод ничем не уступает абсолютным путям?
 

Андрейка

Senior pomidor developer
HraKK
у мну 20статов нераспределенных и пару лямов экспы.. научи меня, о великий сенсей, раскрой тайну мироздания, великую загадку вселенной - где взять путь к корню проекта из файлика /dir1/dir2/test.php ? обещаю после этого перестать есть свинину!

ЗЫ. богу абсолютного пути молюсь каждый день, но он пока не ниспослал на мну благодать
 

HraKK

Мудак
Команда форума
Великий сенсей мне поведал что из /dir/dir2/ вам не надо узнавать путь к корню проекта.
 

kombat

Новичок
ЕЩЕ РАЗ (для тех кого мои темы НЕ парят):


Вот код:

1.php подключает 2.php:
PHP:
$rootdir = "./";
require("2/2.php");
2.php подключает 3.php:
PHP:
require($rootdir."3/3.php"); // фишка в том, что $rootdir инициализируется в подключаюЩЕМ файле
и 4.php подключает 2.php:
PHP:
$rootdir = "./../../";
require("./../../2/2.php");
Какие могут быть подводные камни в этом методе?
Варианты ответа:
1. никаких
2. не знаю
3. описание подводных камней.

И почему лучше использовать абсолютные пути как мне тут советуют, нежели этот способ?


вот и все что я хотел узнать, уважаемые форумчане.
 

HraKK

Мудак
Команда форума
Немешай о ничтожный, разговору двух сенсеев! Ибо не постиг ты еще истиного Дао! Не прочитал свой путь на лезвии клинка!
 

Андрейка

Senior pomidor developer
HraKK
а как мне подключить из запрашиваемого
/modules/camments/camments.php
оч нужную часть скрипта
/includes/aftorizacija.php
?

include basedir(__FILE__).'/../../includes/aftorizacija.php';
? а зачем? может случится что-то страшное при использовании './../../inc....' с вероятностью хотяб 0.00001%?(если кришна ченить не подшаманит конечно) или обращение к /modules/camments/camments.php само по себе не кошерно?
 

HraKK

Мудак
Команда форума
PATH.'/includes/aftorizacija.php';
Где PATH realpath('.'); из /index.php

Не пробывали?
 

Андрейка

Senior pomidor developer
HraKK
перестаньте юзать абсолютный зор, о великий учитель. видеть неуказанный выше в моем проекте index.php могут лишь посвященные, к которым я не пренадлежу :( так о каком index.php речь идет? укажите его неразумным ученикам своим
 

HraKK

Мудак
Команда форума
о. тогда Ваша истинна, если не зрить сиё. Ибо не все открыто падаванам!
 

Андрейка

Senior pomidor developer
осмелюсь спросить Вас, о великий учитель, зачем же нам нужен священный index.php , если у нас запрос идет к /modules/camments/camment.php
Код:
GET /modules/camments/camment.php HTTP/1.1
...
 
Сверху