![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| sanich_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
Есть, допустим, сайт http://mysite.ru, хранится он на хостинге в папке mysite.ru, в страницах этого сайта используется множество инклудов, т.е. страница, например
index.php состоит из head.php, left.php, right.php, center.php, footer.php... index2.php состоит из head.php, left.php, right.php, center.php, footer.php... ... Все эти файлы хранятся внутри папки mysite.ru. Потребовалось создать подпроекты (поддомены) типа news.mysite.ru forum.mysite.ru На хостинге это новые дирректории, соответсвенно news.mysite.ru, forum.mysite.ru Эти разделы-сайты (news.mysite.ru,forum.mysite.ru) как и mysite.ru используют(включают) те же файлы head.php, left.php, right.php, center.php, footer.php Собственно вопрос: как правильно их использовать? Копировать эти файлы в новые подпроекты и также их подключать? - недостаток: при изменени включенной страницы, например (head.php) придется копировать во все подпроекты. Или в файлах подпроектов в прописывать пути типа require('http://mysite.ru/head.php) - такая жестская привязка пути не позволит использовать абсолютно одинаковые копии проектов на удаленном хостинге и локально веб сервере для отладки,т.к. для обращения к локальному веб серверу используется адрес http://mysite_local.ru/, http://news.mysite_local.ru/ ..... Кто как делает? ??? |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
подключая файлы, ты используешь не url-адрес, а реальный путь к файлу на сервере, т.е. что-то вроде:
соответственно достаточно корень определять автоматически: $SPath = $_SERVER['DOCUMENT_ROOT'].'/';
Это сообщение отредактировал(а) bars80080 - 8.7.2008, 14:14 |
||||
|
|||||
| sanich_ |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
Это я так понимаю вариант для случая когда нужно папку include_files вместе с содержимым нужно копировать во все папки проектов forum.mysite.ru news.mysite.ru ??? Я правильно понял? Другого решения подключения файлов нет? |
||||||
|
|||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
С какой стати копировать?
Приведи-ка тут ПОЛНЫЕ пути к своим "папкам на сервере". Это сообщение отредактировал(а) Feldmarschall - 8.7.2008, 14:58 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
ну почему, можно и в случае с доп. доменами
у меня допустим на хосте лежат папки mysite, pda, wap для адресов mysite.ru, pda.mysite.ru, wap.mysite.ru что сложного из одной директории обратится к другой? в этом случае чтобы подключить в файл (что в интернете по адресу) http://pda.mysite.ru/index.php файл, находящийся в mysite/inc/header.php достаточно написать:
а примеры я приводил, чтобы вы поняли, что в реквайр указываются не url, а реальные пути |
|||
|
||||
| sanich_ |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
Вроде разобрался, тока вот какая проблема для хостигна запись то будет такая require('../mysite.ru/inc/header.php'); а для локального веб сервера запись будет такая require('../mysite_local.ru/inc/header.php'); Пути вот такие для сайта mysite.ru V:/home/mysite_local.ru/www - локальный веб сервер /home/login/mysite.ru/docs - хостинг Пути вот такие для сайта news.mysite.ru V:/home/news.mysite_local.ru/www - локальный веб сервер /home/login/news.mysite.ru/docs - хостинг запись вида ../head.php как я понимаю означает начиная с дирректории находящейся уровнем выше, уровнем выше будут папки mysite_local.ru - локальный веб сервер mysite.ru - хостинг А КАК можно указать что на 2 уровня выше? Я подумал что если сделать папку includes_files на том же уровне, что и папки всех сайтов на хостинге. ???? |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
на два уровня: ../../head.php
всё можно свести к автоматическому определению пути, либо в крайнем случае, можно написать условие
|
|||
|
||||
| sanich_ |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
Получилось, ну а что плохого в предложенном мной варианте: если множество проектов ипользуют одни и теже файлы включения, то удобно файлы включения иметь одну копию для всех проектов (для быстрой правки), поместить на один уровень с папками всех проектов (для разрешения конфликта путей на хостинге и локальном веб сервере) К тому же некоторые файлы такие как connection.php, в котором хранятся переменны для поключения к БД лучше вынести из зоны видимости web сервера |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
нормальное предложение для размещения конфигурационных файлов. только не копию, а действующий вариант
когда возникает вопрос в размножении каких-то одинаковых файлов, сразу стоит задуматься, что это уже никакое не программирование |
|||
|
||||
| sanich_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
а как быть с файлами изображений, которые тоже повторяются в каждом из проектов, указать путь типа ../../img/logo.jpg не получится т.к. это уже вне зоны видимости web сервера.
Копировать папку с одинаковыми изображениями в каждый из проектов?? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
господи, ну это-то из самого букваря веб-мастера, вообще из детского сада
На любюом сайте в мире можно написать <img src=http://site.com/image.jpg> и тебе покажет картинку. |
|||
|
||||
| sanich_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 2.3.2008 Репутация: нет Всего: нет |
А без указания полного пути, начинающегося с http://..... реально? Полный путь не резон использовать т.к. сайт на хостинге это http://mysite.ru/img.jpg а на локальном web сервере http://mysite_local.ru/img.jpg Т.е. используя относительный путь ??? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Попробуй ответить себе на этот вопрос сам. Веб весь перед тобой. Узнать, как устроены веб-сайты, совсем несложно. мне вообще кажется, что основы HTML, способы передачи данных в скрипт, даже понятие о куках можно (и нужно) получить до того, как собрался приступать к изучению веб-программирования. А просто пользуясь интернетом. Не только для рассматривания порнокартинок, но и для небольшого любознательного изучения. Путь можно записать в переменную. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
sanich_, я ж это написал в примере:
хотя бы так, но лучше завязать определение путей на $SPath = $_SERVER['DOCUMENT_ROOT']; $SHost = 'http://'.$_SERVER['HTTP_HOST']; |
|||
|
||||
![]()
|
| Правила форума "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. |