Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Вызов модуля расположенного в корневом домене (https://javascript.ru/forum/server/36013-vyzov-modulya-raspolozhennogo-v-kornevom-domene.html)

Freezoff 28.02.2013 20:36

Вызов модуля расположенного в корневом домене
 
Имеется домен: domain.net (имя условное разумеется)
Завел на нем несколько поддоменов: subdomain1.domain.net, subdomain2.domain.net и т.д.
Физически же поддомены расположены:
public_html/subdomain1/public_html/index.php
public_html/subdomain2/public_html/index.php и т.д.
Привязка поддоменов осуществляется инструментарием хостера spaceweb.
Возможно ли сделать include файла находящегося в корневом домене (к примеру http://domain.net/test.php) по абсолютному или относительному пути?
Т.е. мне в файле subdomain1.domain.net/index.php нужно прописать нечто:
<?php
include ("../test.php");
?>

Только вот как правильно?

PS. Сам хостер spaceweb отказался дать консультацию по данному вопросу(((

danik.js 01.03.2013 00:55

Цитата:

Сообщение от Freezoff
Только вот как правильно?

Указать корректный абсолютный или относительный путь.
include("../../test.php")

Tim 01.03.2013 04:18

Какая структура папок на сервере? Поддомен виртуальный? Что если сделать var_dump $_SERVER['DOCUMENT_ROOT']?

Freezoff 01.03.2013 08:32

Цитата:

Сообщение от danik.js (Сообщение 238062)
Указать корректный абсолютный или относительный путь.
include("../../test.php")

В том то и дело, что я не могу таким образом почему то обратится...
Находясь в поддомене я не могу обратится выше папки public_html, поэтому ни "../../../test.php", ни "/home/d/domain/public_html/test.php" к успеху не преводят...

Вызываю $_SERVER['DOCUMENT_ROOT'] находясь в поддомене subdomain1.domain.net, выдает следующее:
/home/d/domain/public_html/region/subdomain1/public_html
первая public_html - это папка корневого домена, вторая - поддомена.

Насчет виртуального поддомена... Как это определить? И что это мне даст? Просто я не специалист в NIX-ах... Все чем я пользуюсь это ftp, для того чтобы закачать код на сервер и небольшой Web-инструментарий предоставленный хостером, в которм я и привязываю поддомен внутри структуры выделенной мне папки...

Как я уже писал, задал хостеру этот вопрос на что он мне ответил: "Данная вопрос, решается созданием определенных скриптов, что будут выполнять эту задачу. Наша компания не предоставляет консультаций по настройке содержимого аккаунта пользователей."

Freezoff 02.03.2013 11:41

Еще один вопрос назрел: можно ли в php изменить текущий путь?
т.е. предположим находясь в /home/d/domain/public_html/region/index.php
нужно дать команду которая сказала бы, что мы находимся не в /home/d/domain/public_html/region/, а папкой выше /home/d/domain/public_html/
соответственно все относительные пути используемые в include файла index.php строились бы уже относительно этой папки...

danik.js 02.03.2013 12:29

Цитата:

Сообщение от Freezoff
дать команду которая сказала бы

Кому сказала бы? Вы видимо не понимаете, что есть файловая система, которой не нужны никакие команды, и есть веб-адреса (url), которые хоть и часто повторяют файловую структуру, но это не обязательно. веб-адреса виртуальны, и с ними можно делать что угодно с помощью mod_rewrite (для Apache)

Цитата:

Сообщение от Freezoff
Находясь в поддомене я не могу обратится выше папки public_html, поэтому ни "../../../test.php", ни "/home/d/domain/public_html/test.php" к успеху не преводят...

Это очень странно. Видимо всетаки вы делаете ошибку в путях. И для php-скриптов нет понятия "домен". Для них есть файловая система.

Freezoff 02.03.2013 13:37

Цитата:

Сообщение от danik.js (Сообщение 238281)
Кому сказала бы?

Вот смотрите... Когда выполняется на сервере модуль index.php или любой другой... текущей папкой является папка в которой этот модуль был запущен... (я о файловой системе, а не url)
В других языках, например Delphi всегда можно изменить текущую папку, так что все последующие команды касательно операций с файлами, будут применятся по умолчанию к вновь назначенной папке...
Вот тоже самое мне нужно сделать и в php
Пример:
Имеется /home/d/domain/public_html/region/index.php
и есть предположим /home/d/domain/public_html/test.php
Мне нужно сделать include в index.php как:
<команда сообщающая что по умолчанию является /home/d/domain/public_html>
include("test.php");
а не просто
include("../test.php");
можно конечно воспользоватся абсолютными ссылками... сделать типа config-а в котором завести константу с нужным мне путем... а потом этот путь просто подставить... но меня имено интерисует мой вариант... Если конечно такая команда есть в php...

danik.js 02.03.2013 13:44

chdir(xxx) ?

Freezoff 02.03.2013 14:56

Ага! Похоже... Пошел эксперементировать! Спасибо огромное!


Часовой пояс GMT +3, время: 14:31.