в корне в файле index.php в самом начале объявлена константа пути, например:
define( 'ROOT', dirname(__FILE__).'/' );
define( 'FUNCTIONS', ROOT . 'functions/' );
но ее не видят скрипты в дочерних каталогах, например
с относительным путем "../functions/my_script.php"
можно присвоить константу сессии с тем же именем и использовать для скриптов в дочерних каталогах, например, так
$_SESSION['FUNCTIONS'] = FUNCTIONS;
$_SESSION['FUNCTIONS'] ."my_script.php"
а есть ли еще варианты решения подобного вопроса?
спасибо
Спустя 11 минут, 41 секунда (9.06.2012 - 21:23) Игорь_Vasinsky написал(а):
и варнингов нету?

Цитата |
Получив строку, содержащую путь к файлу или каталогу, данная функция возвратит родительский каталог данного пути. |
понятно? эта функция показывает путь относительно самого файла в котором вызывается.. т.е. счёт идёт от той директории в которой вызываемый файл.
может тебе $_SERVER['DOCUMENT_ROOT'] нужен?
Спустя 8 минут, 19 секунд (9.06.2012 - 21:31) skolozhabskiy написал(а):
если я вас правильно понял. то вместо
можно использовать такой вариант:
как полный путь в к файлам в подкаталогах.
верно?
спасибо за ответ
"../functions/my_script.php"
можно использовать такой вариант:
__DIR__."my_script.php"
как полный путь в к файлам в подкаталогах.
верно?
спасибо за ответ
Спустя 5 минут, 16 секунд (9.06.2012 - 21:37) Игорь_Vasinsky написал(а):
Вот здесь про относительные и абсолютные пути и разницу между ними
http://phpfaq.ru/paths
__DIR__ и dirname(__FILE__) - это синонимы... просто первая появилась в PHP 5.3
http://phpfaq.ru/paths
__DIR__ и dirname(__FILE__) - это синонимы... просто первая появилась в PHP 5.3

Спустя 3 минуты, 51 секунда (9.06.2012 - 21:40) skolozhabskiy написал(а):
я как раз после прочтения этой статьи сделал вот такие предположения. так мои варианты неверные или верные? дело в том, что для моего кода потребовалось использование только абсолютного пути и я вот ищу правильный и оптимальный вариант.
кстати о __DIR__ и dirname(__FILE__) мне уже известно. я о них и не спрашивал, просто привел последний вариант с более совершенной __DIR__.
спасибо за ответ
кстати о __DIR__ и dirname(__FILE__) мне уже известно. я о них и не спрашивал, просто привел последний вариант с более совершенной __DIR__.
спасибо за ответ
Спустя 4 минуты, 16 секунд (9.06.2012 - 21:45) killer8080 написал(а):
skolozhabskiy
У констант нет ограничения области видимости.
У констант нет ограничения области видимости.
Спустя 2 минуты, 38 секунд (9.06.2012 - 21:47) Игорь_Vasinsky написал(а):
она не совершенна, как ты выразился
они одинаковы.
сам решай как указывать путь. я беру от корня.
в твоём случае не в видимости дело, как ты указал - так она и есть, в противном случае ты бы получил сообщение - что используемая константа не определена.

сам решай как указывать путь. я беру от корня.
в твоём случае не в видимости дело, как ты указал - так она и есть, в противном случае ты бы получил сообщение - что используемая константа не определена.
Спустя 2 минуты, 58 секунд (9.06.2012 - 21:50) skolozhabskiy написал(а):
добрый вечер,
Игорь_Vasinsky
в противном случае ты бы получил сообщение - что используемая константа не определена.
а я как раз это и получаю
да я читал, но вот пример
два файла находятся в дочерних каталогах
корень/каталог1/файл1
корень/каталог2/файл2
в файле1 есть require_once с путем к файлу2
сейчас я прописываю так:
файл виден, а если поставить константу объявленную в начале файла index.php в корне, то не видит (пример в первом посте)
вот такая задача.
спасибо
Игорь_Vasinsky
в противном случае ты бы получил сообщение - что используемая константа не определена.
а я как раз это и получаю
да я читал, но вот пример
два файла находятся в дочерних каталогах
корень/каталог1/файл1
корень/каталог2/файл2
в файле1 есть require_once с путем к файлу2
сейчас я прописываю так:
require_once('../каталог2/файл2');
файл виден, а если поставить константу объявленную в начале файла index.php в корне, то не видит (пример в первом посте)
вот такая задача.
спасибо
Спустя 2 минуты, 6 секунд (9.06.2012 - 21:52) Игорь_Vasinsky написал(а):
доброе утро.
Спустя 1 минута, 17 секунд (9.06.2012 - 21:54) killer8080 написал(а):
Цитата (skolozhabskiy @ 9.06.2012 - 21:50) |
файл виден, а если поставить константу объявленную в начале файла index.php в корне, то не видит. |
а файл1 инклюдиться в index.php в корне?
Спустя 1 минута, 41 секунда (9.06.2012 - 21:55) skolozhabskiy написал(а):
нет файл2 инклюдится в файле1, а как они расположены от корня я указал в первом посте
Спустя 1 минута, 4 секунды (9.06.2012 - 21:56) skolozhabskiy написал(а):
Игорь_Vasinsky
с написал добрый вечер killer8080
с написал добрый вечер killer8080
Спустя 45 секунд (9.06.2012 - 21:57) killer8080 написал(а):
skolozhabskiy
ну так откуда же в файл1 возьмется константа из другого файла?
ну так откуда же в файл1 возьмется константа из другого файла?
Спустя 16 секунд (9.06.2012 - 21:57) Игорь_Vasinsky написал(а):
тем более.
Спустя 2 минуты, 12 секунд (9.06.2012 - 22:00) skolozhabskiy написал(а):
нет вы меня не поняли, еще раз:
контанта в файле index.php в корне в самом верху скрипта.
два файла находятся в дочерних каталогах
корень/каталог1/файл1
корень/каталог2/файл2
в файле1 есть require_once с путем к файлу2
инклюдится файл2 и я хотел найти решение не писать так в файле1:
require_once('../каталог2/файл2');
а указать в файле1 константой абсолютный путь к файлу2
это возможно?
спасибо
контанта в файле index.php в корне в самом верху скрипта.
два файла находятся в дочерних каталогах
корень/каталог1/файл1
корень/каталог2/файл2
в файле1 есть require_once с путем к файлу2
инклюдится файл2 и я хотел найти решение не писать так в файле1:
require_once('../каталог2/файл2');
а указать в файле1 константой абсолютный путь к файлу2
это возможно?
спасибо
Спустя 3 минуты, 28 секунд (9.06.2012 - 22:03) killer8080 написал(а):
Ну если файл1 запускается напрямую, то можно например так
define('ROOT', realpath(__DIR__.'/..'));
Спустя 6 минут, 5 секунд (9.06.2012 - 22:09) skolozhabskiy написал(а):
это будет выглядеть для файла2 так:
в index.php - define('ROOT', realpath(__DIR__.'/..'));
в файле1, который находится в каталоге1 - require_once(ROOT.'/каталог2/файл2');
и так не работает - пишет, что константа неопределена
пробовал так:
require_once(ROOT.'/файл2'), но это не работает
спасибо за помощь
в index.php - define('ROOT', realpath(__DIR__.'/..'));
в файле1, который находится в каталоге1 - require_once(ROOT.'/каталог2/файл2');
и так не работает - пишет, что константа неопределена
пробовал так:
require_once(ROOT.'/файл2'), но это не работает
спасибо за помощь
Спустя 6 минут, 1 секунда (9.06.2012 - 22:15) skolozhabskiy написал(а):
пишет, что константа ROOT в файле1 неопределена
Спустя 1 минута, 13 секунд (9.06.2012 - 22:16) killer8080 написал(а):
skolozhabskiy
подожди, каким боком здесь участвует index.php? Вроде ж файл1 в index.php не инклюдиться? Или я чего то не понимаю?
подожди, каким боком здесь участвует index.php? Вроде ж файл1 в index.php не инклюдиться? Или я чего то не понимаю?
Спустя 1 минута, 24 секунды (9.06.2012 - 22:18) skolozhabskiy написал(а):
в index.php просто объявлена в самом верху константа.
еще раз повторюсь инклюдится файл2 в файле1. или это можно как-то иначе представить? я имею ввиду прописать абсолютный путь к файлу2?
спасибо
еще раз повторюсь инклюдится файл2 в файле1. или это можно как-то иначе представить? я имею ввиду прописать абсолютный путь к файлу2?
спасибо
Спустя 1 минута, 41 секунда (9.06.2012 - 22:20) killer8080 написал(а):
Ну так файл1 запускается напрямую? причем здесь константы из другого файла? Как он связан с index.php?
Спустя 52 секунды (9.06.2012 - 22:20) skolozhabskiy написал(а):
я просто хотел сделать одну универсальную константу для файлов в дочерних подкаталогах
Спустя 1 минута, 29 секунд (9.06.2012 - 22:22) skolozhabskiy написал(а):
в файле 1 создается json и выводится в index.php. в файл1 необходимо подключить файл базы данных, который используется во многих файлах. это файл2. и теперь надо файл2 прописать абсолютный путь.
Спустя 1 минута, 27 секунд (9.06.2012 - 22:23) Игорь_Vasinsky написал(а):
делай файл vars.php - в нём все константы и переменные, его подключай к каждому файлу. константы по ветру не передаются.
Спустя 3 минуты (9.06.2012 - 22:26) skolozhabskiy написал(а):
спасибо, я тоже думал над этим, но есть проблема - где расположить файл vas.php и вторая - для его подключения к разным файлам тоже же нужно прописать путь - абсолютный и идем снова по кругу?
какой?
спасибо
какой?
спасибо
Спустя 6 минут, 12 секунд (9.06.2012 - 22:33) Игорь_Vasinsky написал(а):
уф. $_SERVER['DOCUMENT_ROOT'] - глянь что это.
Спустя 8 минут, 48 секунд (9.06.2012 - 22:41) skolozhabskiy написал(а):
спасибо уже давно глянул, даже до корня не добирается, вот живой пример C:/Apache/test.ru/www.
Спустя 1 минута, 21 секунда (9.06.2012 - 22:43) skolozhabskiy написал(а):
Игорь_Vasinsky
извините, но вы даете советы совершенно отвлеченные от вопроса. если бы все было так просто, ябы не попросил помощи у профессионалов.
спасибо
извините, но вы даете советы совершенно отвлеченные от вопроса. если бы все было так просто, ябы не попросил помощи у профессионалов.
спасибо
Спустя 1 минута, 38 секунд (9.06.2012 - 22:44) killer8080 написал(а):
skolozhabskiy
в файл1 объявляй константу , как я показывал выше.
в файл1 объявляй константу , как я показывал выше.
Спустя 5 минут, 58 секунд (9.06.2012 - 22:50) skolozhabskiy написал(а):
если прописать в файле1 сразу:
define('ROOT', realpath(__DIR__.'/..'));
require_once(ROOT.'/каталог2/файл2');
вместо
require_once('../каталог2/файл2');
то так работает. это правильно? нигде не ошибся?
спасибо
define('ROOT', realpath(__DIR__.'/..'));
require_once(ROOT.'/каталог2/файл2');
вместо
require_once('../каталог2/файл2');
то так работает. это правильно? нигде не ошибся?
спасибо
Спустя 1 минута, 23 секунды (9.06.2012 - 22:52) skolozhabskiy написал(а):
но это путь объявления констант в каждом конкретном файле. сделать универсальную константу я так понял варианта нет.
спасибо
спасибо
Спустя 31 минута, 12 секунд (9.06.2012 - 23:23) Игорь_Vasinsky написал(а):
ты коннект к БД тоже в каждом своём файле прописываешь? тебе 10 раз сказали что делать.
Спустя 4 минуты, 12 секунд (9.06.2012 - 23:27) skolozhabskiy написал(а):
Игорь_Vasinsky
нет такими глупостями я не занимаюсь. спасибо я получил уже совет настоящего профессионала.
нет такими глупостями я не занимаюсь. спасибо я получил уже совет настоящего профессионала.
Спустя 16 минут, 5 секунд (9.06.2012 - 23:43) Игорь_Vasinsky написал(а):
С глубочайшем сожалением...
ух ты ёпты. я тебя запомнил.