Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с include 
:(
    Опции темы
TNT86
Дата 1.4.2007, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



Есть директории DIRA и DIRB. В DIRA есть main.php и helpful.php .  При этом в main.php инклюдится helpful.php  через include("helpful.php");

Теперь в DIRB  есть cruel.php  в который бы хотелось включить main.php из директории DIRA. Но если просто сделать include("../DIRA/main.php"), то main.php не найдет helpful.php

Хотелось, чтобы файлы работали одинаково, независимо от того места откуда я их вызываю. Это возможно как-то сделать?
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
СтудентИзРоссии
Дата 1.4.2007, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 13.11.2006

Репутация: нет
Всего: нет



Цитата(TNT86 @ 1.4.2007,  00:09)
Есть директории DIRA и DIRB. В DIRA есть main.php и helpful.php .  При этом в main.php инклюдится helpful.php  через include("helpful.php");

Теперь в DIRB  есть cruel.php  в который бы хотелось включить main.php из директории DIRA. Но если просто сделать include("../DIRA/main.php"), то main.php не найдет helpful.php

Хотелось, чтобы файлы работали одинаково, независимо от того места откуда я их вызываю. Это возможно как-то сделать?

Используйте абсолютные пути, например: /pub/home/www/DIRA/main.php
PM MAIL   Вверх
TNT86
Дата 1.4.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



Абсолютные пути сильно усложняют жизнь, потому что нельзя, например тестить на localhoste, а потом перекладывать на сервер.
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
S.A.P.
Дата 1.4.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 3
Всего: 71



TNT86, а их необязательно руками прописывать. Если у тебя index  в корне лежит, то объявляешь константу define('ROOT', realpath('.')); и используешь её где надо.
PM MAIL   Вверх
СтудентИзРоссии
Дата 1.4.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 13.11.2006

Репутация: нет
Всего: нет



Цитата(TNT86 @ 1.4.2007,  12:07)
Абсолютные пути сильно усложняют жизнь, потому что нельзя, например тестить на localhoste, а потом перекладывать на сервер.

main.php

Код
<?
if(count(get_included_files()) > 1)
include("../DIRA/helpful.php");

else
include("helpful.php");

// Ваш остальный код.
?>

PM MAIL   Вверх
TNT86
Дата 1.4.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



Нельзя сделать как-то так, чтобы файл использовал относительные пути (именно относительно себя) ? Все-таки определять абсолютный путь для каждой директории это однозначно не выход.
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
BuShaRt
Дата 1.4.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



TNT86, 
я думаю логичней сделать, чтоб все инклудилось из корневого каталога. Ведь файловая структура проекта тоже вещь не маловажная.
PM MAIL   Вверх
TNT86
Дата 2.4.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



Не совсем понял что ты имел ввиду BuShaRt ...  У меня все файлы раскиданы по папочкам, но иногда мне приходится инклюдить файлы из одной папки в файлы из другой - вот пока что с этим поблемы и я не знаю как их разрешить :(
--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
cia
Дата 2.4.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: 4
Всего: 4



Какого-либо универсального способа инклюдить именно от "текущего" каталога нет, на сколько мне известно.
Я обычно выношу все "технические" скрипты в директорий выше WWW и подключаю их примерно так: 
Код

require($_SERVER['DOCUMENT_ROOT'].'/../SCRIPTS/myscript.php');


На мой взгляд пути указывать лучше именно от корневого каталога.
PM WWW ICQ   Вверх
TNT86
Дата 2.4.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 14.8.2006
Где: Одесса

Репутация: нет
Всего: нет



В принципе можно построить "правильный" относительный путь, зная текущий URL,  а также зная абсолютное расположение файла. Но для этого  нужно уззнать как-то текущий URL... может кто знает?


--------------------
виртуальныe MYSQL и  PHP эксперты
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.