![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
мне нужно вставлять конструкцией require (или include, я так и не понял, чем они различаются) на всех страницах сайта 5 кодов из внешних файлов. (шапка, бегущая строка с объявлениями, левый и правый столбцы с инфой и нижнюю часть) Это потому, что если я захочу что-то изменить или добавить, мне не пришлось менять на всех страницах. Я вначале делал на JavaScript. но оказалось, что этот внешний файл всё время кэшируется. Поэтому стал делать на PHP. Но появилась проблема: как из всех каталогов задать одинаковый basehref к файлам, которые располагаются в подкаталоге "files" корнего каталога. Ранбше у меня было
<base href="тырыпыры_корневой_каталог/index.php"> <script src="files/file.js"></script> с PHP такого не пройдёт! <? include "files/file.js"; ?> работает только на страницах в корневом каталоге. Вопрос: как сделать так, чтобы работало со всех каталогов, при одинаковом коде. да, и <? include "тырыпыры_корневой_каталог/files/file.js"; ?> не проходит, т.к. мне потом придётся при выставлении в Инет и каждом переносе сайта менять "тырыпыры_корневой_каталог" на всех страницах! ps - кто придумает подходящее название дшля темы - повышу рейтинг "за отличную сообразительность"! Или это просто меня к часу ночи глючит?... |
|||
|
||||
| Kiber_rat |
|
||||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 1 Всего: 9 |
А ты свое "тырыпыры" задавай как переменную в конфиг файле, а его кинь в корень :-)
config.inc
some.php
Не слишком изящно, но работать должно, если я правильно понял проблему... А тему назови - "проблемы с путями в include " -------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||||
|
|||||||
| IZ@TOP |
|
||||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Kiber_rat, только маленькая ошибочка, правильней не так:
А так:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
||||
|
|||||
| Alx |
|
||||||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
не понял! можно поподробнее?
при изменении домена, предётся менять всё равно на всех страницах! и, кстати, я пробовал так, только у меня был файл не config.inc, а test.php с содержанием: <? $test = "tyrypyry"; ?> но переменная $test в главном файле была undefined!
тогда config.inc нужно всё равно пихать во все каталоги, а потом менять! зы - я понимаю, что с <base href="tyrypyry/index.php"> тоже нужно было бы менять на всех страницах, но если у меня получится, что я щас хочу, то можно было бы сделать так: <base href="<? echo $path; ?>/index.php"> Это сообщение отредактировал(а) ALEXANDRO - 11.3.2004, 10:43 |
||||||
|
|||||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
а что... сложно написать прямой путь от корня сайта?
-------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
жу-жу-жу, я сегодня торможу! можно поподробнее! прямой путь воть: http://localhost/fuchsias.ru/files/file.php - к файлу http://localhost/fuchsias.ru/index.php - к главной странице а в Инете буит http://fuchsias.ru/files/file.php http://fuchsias.ru/index.php и что мне на каждой странице менять? когда в Инет буду выставлять... |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
От документ рута...
/files/file.php и не делай http://localhost/fuchsias.ru/files/file.php лучше создай отдельный виртуальный хост типа: http://fuchsias/files/file.php -------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
у меня чё-то виртуальные хосты не работают! я пробовал.
а от документ рут не получица, потому что на локал хосте это localhost, a мне надо тогда уж localhost/fuchsias.ru
это моя главная проблема! и потом почему ты написал http://fuchsias/files/file.php а не http://fuchsias.ru/files/file.php ведь в инете буит http://fuchsias.ru/files/file.php а иначе смысла нет, всё равно менять придётся! |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
если ты хочеш чтобы у тебя вместо http://fuchsias.ru/ открывался локальный ресурс, то в путь или лазий в хостовый файл операционик и постоянно его оттуда убирай, когда хочеш попасть на удаленный хост. А про настройку виртуальных хостов ищи на: http://php.spb.ru/ -------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
ты не правильно меня понял! ой, я чувствую с PHP мне ещё намучиться! |
|||
|
||||
| Raptus Melanholicus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 6.1.2004 Где: Kiev::Ua Репутация: нет Всего: нет |
Ребята, вы чё?
и всё |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
и что?
ты уверен, что он вставит файл, расположенный http://localhost/fuchsias.ru/files/file.php во все файлы, расположенные http://localhost/fuchsias.ru/dir/page.php http://localhost/fuchsias.ru/another/dir/page.php http://localhost/fuchsias.ru/index.php и т.д.? и так же если вместо "localhost/fuchsias.ru" будет "fuchsias.ru" (када в инет выставлю...) нет, не думаю, что это сработает! |
|||
|
||||
| Raptus Melanholicus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 6.1.2004 Где: Kiev::Ua Репутация: нет Всего: нет |
ALEXANDRO
"./" это путь от корня сайта. Ты определись, где у тебя корень будет. В твоём случае лучше на локалхосте всё сделать так, как будет в инете - либо выложить в корень весь сайт, либо только папки, из которых инклуд делаешь. Тогда ставь везде "./files/file.php" и при переносе никаких проблем не возникнет. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
а, т.е. ты хочешь, чтобы я папку был такой адрес:
localhost/files/file.php? отличная идея! |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Не, ну народ Вы что тут? Какой include будет работать с http
Функция dirname дает нам полный путь к файлу config.php, вот теперь у нас константа ABS_PATH = "c:\web\www", теперь остается пологаться только на нее - то есть мы config.php инклудим из всех файлов зависимых от определения данных в конфиге. Вот и все. А вообще если кто не знал есть такая переменная в РНР как $_SERVER['DOCUMENT_ROOT'], но на некоторых хостингах она заблочена и дает неверный путь к корню сайта. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Raptus Melanholicus, не заблуждайся! "./" - это текущий каталог. "../" - это предидущий каталог. -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
| Raptus Melanholicus |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 6.1.2004 Где: Kiev::Ua Репутация: нет Всего: нет |
arial
Да, верно.. Путь от корня просто "/" Так что вот так правильно:
Папка files лежит в корне. Это сообщение отредактировал(а) Raptus Melanholicus - 14.3.2004, 21:41 |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
такое впечатление будто я говорил с пустыней...
-------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
? да, я тоже вернулся на свой комп, вот результат. весьма интересный, кстати! содеражание файла path.php (http://localhost/path.php): <? $path = "http://localhost/fuchsias.ru/"; ?> вставляю из файла index.php (http://localhost/fuchsias.ru/index.php) <? include "./path.php"; echo $path; ?> - ошибка <? include "http://localhost/path.php"; echo $path; ?> - ошибка (!!!) <? include "../path.php"; echo $path; ?> - ОК (что естесственно) вставляю из файла dir.php (http://localhost/fuchsias.ru/dir/dir.php) <? include "./path.php"; echo $path; ?> - ошибка <? include "http://localhost/path.php"; echo $path; ?> - ошибка (!!!) <? include "../path.php"; echo $path; ?> - ошибка <? include "../../path.php"; echo $path; ?> - OK ну тут всё понятно. Не понятно только почему не работает полный путь! <? include "http://localhost/path.php"; echo $path; ?> если путь к файлу http://localhost/path.php. c "/path.php" еще не пробовал, но насколько я знаю правила построения URL, в данном случае "/" ничего не сыграет, т.е. файл будет грузиться из текущего каталога. Однако на всех бывает проруха - проверим! |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 6 Всего: 22 |
ALEXANDRO
Include не имеет никакого отношения к http протоколу. и полный путь указывается не для Apache а для ОС: /home/public_html/path.php к примеру |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
короче, с "/" тоже не проходит!
http://localhost должна же быть такая! |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
пиши через: $DOCUMENT_ROOT."/files/file.php";
-------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
ALEXANDRO, не тормози! Iz@top уже давно дал ответ:
-------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
упс, виноват - не заметил его поста! спасибо ему!
|
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
не, народ, во-первых я соврал насчёт Kiber_rat`а - обещал ему респект повысить, а во-вторых, разве переменная HTTP_HOST не вернёт http://localhost ?
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Лучше пользуйся $_SERVER['HTTP_HOST']. так как при отключенном register_globals просто $HTTP_HOST работать не будет. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| arial |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 772 Регистрация: 11.3.2003 Где: Архангельская обл . Репутация: 6 Всего: 7 |
Прописная истина, можно было и не акцентировать внимание. -------------------- Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская) |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
|
|||
|
||||
![]()
|
| Правила форума "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. |