Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > заинклюдить файл


Автор: RaZoR 27.7.2004, 18:00
че-то гоню я видимо. у меня скрипты лежат в подпапках, а то и в двух. а мне нужно заинклюдить скрипт, который лежит совершенно в другой подпапке. Пример:
-------корневой каталог-------
папка1
папка2
-------папка1-------
папка1_1
скрипт1
-------папка2-------
скрипт2
-------папка1_1-------
скрипт3

так вот мне нужно скриптом №3 заинклюдить скрипт2
т.е. скрипт3 лежит в: root/папка1/папка1_1/
а скрипт 2 в root/папка2/

если делать инклюд так: include("/папка2/скрипт3"); то выдает ошибку. Может конечно я гоню и все гораздо проще, но все-таки?
p.s. что-то типа include("../../папка2/скрипт3") не предлагатьsmile.gif

Автор: RaZoR 27.7.2004, 19:07
ну народ, ну помогите плз. очень нужно... если в кратце, то как определить КОРНЕВУЮ ДИРЕКТОРИЮ, но не DOCUMENT_ROOT, т.к. на amillo.net выдает неправильное значение

Автор: arial 27.7.2004, 19:20
define('ROOT_DIR', dirname(__FILE__) . '/');

Автор: RaZoR 27.7.2004, 20:09
arial
не совсем то... если скрипт лежит в подпапке "папка1", то будет содержать путь: root\папка1/
а надо просто root

Автор: yUAC 27.7.2004, 23:06
Хехе. На 6uCплатном хостинге почти никак. Можно отрезать от __FILE__ кусок с $_SERVER['REQUEST_URI'] или SCRIPT_NAME...

Автор: RaZoR 27.7.2004, 23:33
yUAC
понятно, ладно... попробую...

Автор: Akina 28.7.2004, 08:19
дык используй относительные пути-то...

Автор: RaZoR 28.7.2004, 10:46
Akina
например?

Автор: Akina 28.7.2004, 11:56
include "..\..\скрипт2.php"

Автор: RaZoR 28.7.2004, 17:27
ладно, видимо по-другому и впрямь нельзя...

Автор: yUAC 28.7.2004, 22:00
Цитата
include "..\..\скрипт2.php"

Эх, за такое кстати голову отрывают. В unix-то эти слеши работать не будут... Да еще и не учли то, что «\» нужно удваивать.

Цитата
ладно, видимо по-другому и впрямь нельзя...

Можно перепродумать организацию сайта, и не инклюдить дизайн скриптами из подпапок, а инклюдить скрипты из подпапок при запросе соотв. страницы.

Автор: arial 29.7.2004, 19:46
К вопросу о define('ROOT_DIR', dirname(__FILE__) . '/');
ROOT_DIR должен определяться в корневой директории, тогда проблемм не будет.

Автор: Гость_RaZoR 29.7.2004, 20:08
arial
чтобы он там поределялся это уже проблема... т.е. пользователь должен заходить именно на главную страницу...

Автор: IZ@TOP 29.7.2004, 20:11
Цитата
т.е. пользователь должен заходить именно на главную страницу...

А причем тут главная страница? Создаешь в корне файл типа conf.php, прописываешь в нем define('Root_Dir', dirname(__FILE__).'/'); и инклудишь его из всех скриптов.

Автор: Гость_RaZoR 30.7.2004, 14:00
IZ@TOP чтобы его инклюдить из всех скриптов и нужно знать эту самую ROOT_DIR!!!

Автор: IZ@TOP 30.7.2004, 14:09
Если ты будешь сохранять структуру каталогов, то можешь спокойно инклудить из подпапки конфиг. Типа ../../ на две папки вниз. Ну и т.п.

Автор: Гость_RaZoR 30.7.2004, 20:46
IZ@TOP
ну да... я так и сделал уже...

Автор: arial 31.7.2004, 14:24
Гость_RaZoR, попробуй использовать mod_rewrite.
Юзер запрашивает страницу http://somesite.tld/superscript/index.php а на самом деле получает http://somesite.tld/index.php?script=superscript, ну а ты уже инклюдиш в файле index.php файл $_GET['superscript']. Что нибудь вроде этого.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)