![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Писал, писал тут свою библиотеку и вдруг решил иерархически распределить скопившуюсю кучу файлов по поддиректориям. И сразу же наткнулся на такую проблему - при подключении нескольких файлов из разных директорий и при использовании относительных путей, эти самые пути считаются от директории, к которой был произведен запрос. То есть относительные пути вида "../../../bla.php" тут не как не пойдут. То есть выход только в абсолютных путях?
Пришла в голову такая мысль - можно ли как нить создать глобальную PHP переменную(типа $_SERVER["DOCUMENT_ROOT"])? Но тут же появилась другая мысль - а если я свою либу буду ставить на хостинг, то вряд ли хостер захочет эту переменную заводить(я так понимаю тут нужно в каких то PHP файлах покопаться?). Что то я уже не знаю, что делать. Кто сталкивался с такой проблемой, подскажите, пожалуйсто, как из нее выйти -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
<Spawn>, завести конф. файл, в котором будут прописаны пути ко всем либам, и соответственно подключать только его, брать из него пути, и подключать далее то что необходимо. Можешь запихнуть в папку которая указана в найтроках твоего РНР дериктивы include_path - при подключении РНР будет сам искать в этой директории.
Вот по первому варианту:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
IZ@TOP
1)Да, первый вариант был бы хорош, но тут, по моему, будет та же проблема. Сморти, допустим есть такого рода директории(директории выделены жирным): oop_direct config.inc ... ----data_base ----custom_connection.php ----.... -------oracle -------.... -------mysql -------mysql.custom_connection.php -------mysql.connection.php -------mysql.pconnection.php -------mysql.custom_query.php -------.... тогда, если я в mysql.custom_connection.php буду подключать "../../confing.inc" и через него "oop_direct/data_base/custom_connection.php", а в custom_connection.php, в свою очередь, будет подключаться "../config.php", то будет ошибка, так как в custom_connection.php путь относительный, и он будет считаться от папки mysql. Или я чего то не понял? Таким же образом я не могу задать явный путь к своей либе(типа "include(oop_direct/config.inc)") - я ведь не знаю в какой папке в конечном счете она будет лежать!! 2) Пихать в include_path это кончено хорошо, но не думаю, что хостер это разрешит. Это сообщение отредактировал(а) <Spawn> - 20.1.2005, 17:12 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| IZ@TOP |
|
||||||||||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Думаю эта проблема надуманная. Создаем константы, как в примере выше, и обращаемся через них. Вот смотри, есть у нас константа определенная ф файле config.php
Эта константа будет содержать полный путь к папке oop_direct, например
Добавлено @ 15:11
Я вроде где-то слышал что можно через .htaccess устанавливать опции РНР. Примерно так:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
||||||||||
|
|||||||||||
| Sattu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 7.8.2002 Где: Західна Україна Репутация: 3 Всего: 4 |
php_value include_path "path/to/your/lib/" прописываешь в .htaccess Это сообщение отредактировал(а) Sattu - 21.1.2005, 15:54 --------------------
тссссс.... «ЖЖ» |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Спасибо
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |