include
1.
PaDre (06.09.2010 / 16:06)
http://new.padre696.tk - здесь есть меню с ссылками. клик по ссылке Alcatel, переносит на
http://new.padre696.tk/Alcatel/index.php
Там как видите дизайна нет. Хотя в index.php стоят:
include ("http://new.padre696.tk/header.php");
и
include ("http://new.padre696.tk/footer.php");
Как исправить (без переноса в эту папку файлов footer.php и header.php) ?
Можно ли сделать так чтобы код страницы:
http://new.padre696.tk/Alcatel/index.php
был в этом файле:
http://new.padre696.tk/index.php ?
2.
★☆ ИгRok™ ☆★ (08.09.2010 / 02:31)
Зачем ты пишешь полный адрес? Если файл который нужно проинклудить находиться в той же папке,что и файл в котором нужно вывести инклуд,то пиши просто:
inсludе ('hеаd.php');
это при условии,если оба файла находятся в одной папке...в твоем случае,надо сделать так:
inсludе ('./hеаd.php'); если я тебя правильно понял
3.
ramzes (08.09.2010 / 08:55)
include('../header.php');
удаленные инклуды обычно отключают на сервере в целях безопасности
4.
Станислав (08.09.2010 / 09:08)
а я вообще все инклуды относительно корня делаю... Мало ли чего потом ещё придумывать придётся
5.
KOZZ (08.09.2010 / 09:14)
я делаю константу BASEDIR (как в моторе), и все проблемы решены )
6.
ramzes (08.09.2010 / 22:31)
$_SERVER['DOCUMENT_ROOT']
7.
Станислав (09.09.2010 / 01:48)
ramzes (9 Сентября 2010 / 00:31)
$_SERVER['DOCUMENT_ROOT']
так всегда делаю =) так удобней =)
8.
KOZZ (09.09.2010 / 04:38)
6,7, а если картинки грузить, пути разве не раскрываются? или это применительно только к инклудам?
9.
ramzes (09.09.2010 / 09:59)
обращение к файлам, картинки проще от корня писать src="/..../..../img.jpg"
а мотровская константа не дружит с чпу, будет коряво адрес выдавать
10.
KOZZ (09.09.2010 / 10:18)
9, а что значат "..." и "...."?
11.
Станислав (09.09.2010 / 10:45)
10.
МеталлоgетектоР eGo, это образно названия папок.
Всякие картинки и ссылки я вот тоже делаю от /
12.
KOZZ (09.09.2010 / 10:49)
11, аа, а то я уж подумал что то типа "." и ".." ))
13.
Станислав (11.09.2010 / 22:57)
мм, а как задана в моторе константа BASEDIR? А то возникла некая сложность...
14.
Studentsov (12.09.2010 / 00:29)
template/regglobals.php, а дальше сам гляди
15.
Веталь (12.09.2010 / 01:04)
BASEDIR через цикл по одной директории опускается в низ пока не найдет файл input.php (если не ошибаюсь) и за весь проход цикла добавляет в переменную $basedir .= "../"; потом закрывает ее в константу...
16.
Веталь (12.09.2010 / 01:06)
и еще хотелось бы добавить к постам выше если вставлять в стр. рисунки и стили не легче ли будет использовать просто / если конечно сама папка с рисунками не законсервирована где нибудь в a/b/c/d/e/...../z/img.png когда сам файл лежит в папке с рисунком же...
17.
delete (12.09.2010 / 02:37)
с переменной или с константой всегда удобней, лично мне, хоть и не трудно прописывать вложенность директорий но меньше мороки, если вдруг надумаю переместить скрипт в папку или еще куда
18.
KOZZ (24.09.2010 / 16:23)
кстати, на днях пришла мысль: а если использовать realpath() и вырезать корневую директорию?
realpath() вернет что то в таком роде: "/var/www/user/data/www/site.ru/dir/script/file.php", теперь вырезаем все то, что не стоит показывать допустим так:
<?
$a = explode('/',realpath(basename($_SERVER['SCRIPT_NAME'])));
foreach($a as $key => $val){
if($val == $_SERVER['HTTP_HOST']) {
unset($a[$key]);
$basedir = implode('/',$a);
break;
} else {unset($a[$key]);}
}
?>
19.
KOZZ (24.09.2010 / 16:53)
в итоге выполнения скрипта из 18 поста получаем "dir/script/file.php"
20.
KOZZ (25.09.2010 / 19:02)
есть какие нить комментарии к 18 посту? подружится такой код с ЧПУ?
21.
ramzes (25.09.2010 / 20:19)
18, и зачем это? чем документ рут не устраивает?
// если весь чпу идет через корневой файл то вообще в ж не уперлись относительные пути. оч удобно и красиво
22.
KOZZ (26.09.2010 / 05:29)
21,test/stat.php - то что вернула моя функция
/var/www/vlad611*/data/www/xxx-mob.ru - документ рут.
чем не устраивает - только раскрытие путей
23.
ramzes (26.09.2010 / 10:43)
конкретно для обращения к файлам (инклуд в том числе) с плавающего адреса он отлично подходит.
а то что делает твоя функция можно получить просто $_SERVER['PHP_SELF']
24.
KOZZ (26.09.2010 / 11:06)
23, а к картинкам допустим как обращаться? документ рут раскроет пути
25.
ramzes (26.09.2010 / 11:17)
я ж писал, от корня путь пиши всегда и все. <img src="/dir/subdir/image.png" alt="img" />
26.
KOZZ (26.09.2010 / 11:26)
25, ааа, точно, спс ))) +1
27.
delete (26.09.2010 / 11:36)
для сайта и этого достаточно
define ('HOST', 'http://'.$_SERVER['HTTP_HOST']);
define ('ROOT', $_SERVER['DOCUMENT_ROOT']);
первая константа для работы с html, картинками, и т.д а вторая для php.
28.
ramzes (26.09.2010 / 12:26)
27, ну это опять же ненужные телодвижения.
зачем константа когда в массиве сервер и так это есть и он всегда доступен
29.
delete (26.09.2010 / 12:43)
28, есть но там надо всегда быть внимательным, с константой по проще.. хотя кто как привык.
30.
ramzes (26.09.2010 / 12:46)
чего? в чем внимательным?))
не изобретай велосипед
31.
Lugaro (26.09.2010 / 13:05)
Константой удобно тем что не нужно привязывать скрипт к одной папке, к примеру в один прекрасный момент понадобится переместить скрипт в другую папку, а путь будет вести не туда куда надо.
Вот ещё бы с картинками что-то придумать, если указывать просто / то опять же не выйдет переместить куда-то скрипт без изменений в коде или к примеру поместить скрипт на поддомен и картинки уже не будет браться с корня, указывать ../ тоже не получится когда в скрипте используется реврайт, выходит только указывать полный путь... есть у кого-то какие-то идее по этому поводу?
32.
KOZZ (26.09.2010 / 13:06)
31, я свою идею выложил уже
33.
delete (26.09.2010 / 13:08)
30.
ramzes, внимательным с путями
34.
Lugaro (26.09.2010 / 13:12)
32.
МеталлоgетектоР eGo, указывать в каждой ссылке переменную с путем не так иж и удобно... я думаю это можно как то тем же реврайтом обиграть, что просто писать / и всё
35.
delete (26.09.2010 / 13:35)
31.
.::lugaro::., а чем define ('HOST', 'http://'.$_SERVER['HTTP_HOST']); плохо для вывода картинок ?
36.
Lugaro (26.09.2010 / 13:40)
35. Денис Петрович,
Я же говорил выше почему )) ->
если указывать просто / то опять же не выйдет переместить куда-то скрипт без изменений в коде
указывать в каждой ссылке переменную с путем не так уж и удобно...
37.
ramzes (27.09.2010 / 09:52)
31.
.::lugaro::., скрипты которым необходимы такие вещи как функции/константы путей и иже, нормальные люди в папки некидают.
создать субдомен это 2 минуты.
а в небольшем скрипте можно и ../ писать.
38.
Lugaro (27.09.2010 / 11:03)
ramzes (27 Сентября 2010 / 08:52)
31. .::lugaro::., скрипты которым необходимы такие вещи как функции/константы путей и иже, нормальные люди в папки некидают.
создать субдомен это 2 минуты.
а в небольшем скрипте можно и ../ писать.
Ну смотри, у тебя есть цмска, ты в ней указал константу с путем к корневой папке (к самой цмски, а не хоста),
далее ты пишешь скрипт для этой цмски, потом в скрипте подключаешь ядро цмски в котором уже
есть константа с корневой цмски и далее в скрипте для подключения всяких файлов ты используешь
константу и потом ты свободно можешь переместить скрипт куда угодно, для этого нужно лишь
поправить путь к ядру, а если ты не будешь использовать константу, будешь писать везде ../ или
$_SERVER то в случае с ../ тебе придется во всем скрипте переписывать пути, если ты к примеру
поместишь скрипт в dir/dir/, а с $_SERVER ты ограничиваешь сам движок, ты не сможешь его
установить в папку, её можно будет устанавливать только в корневую хоста, иначе во всех скриптах где используется $_SERVER тебе придется переписывать путь к корневой цмски
39.
ramzes (27.09.2010 / 22:28)
не согласен в корне, не станет нормальный человек устанавливать цмс в папку.
про скрипт не осилил, пишешь так же через документ рут и все. зачем чего то шаманить? причин просто не вижу..
40.
Lugaro (27.09.2010 / 22:44)
Что значить нормальный не нормальный, ситуации бывают разные.
Кому свое время дорогое, тот возьмет чтото из того что я сказал.
URL:
https://visavi.net/topics/13408