значит... пытаюсь сделать свою cms (для себя любимого), но вот незадача.. (( есть файлы... щас все покажу.. PHP: <? /*************************************************************************** * index.php * ------------------- * Begin : Sunday, Nov 5, 2006 * Copyright : (C) 2006 vowik.ru * E-Mail : [email=support@vowik.ru]support@vowik.ru[/email] * * ***************************************************************************/ // Загрузка общей конфигурации include "config.php"; include "style.php"; $copyright = "<p align=\"center\"><font size=\"1\"><a target=\"_blank\" href=\"http://cms.vowik.ru/\">VowikEasyCMS© - $version</a></font></p>"; echo ("$copyright"); ?> PHP: <? /*************************************************************************** * config.php * ------------------- * Begin : Sunday, Nov 5, 2006 * Copyright : (C) 2006 vowik.ru * E-Mail : [email=support@vowik.ru]support@vowik.ru[/email] * * ***************************************************************************/ $site_name = "http://cms.vowik.ru"; $page_name = "text"; // Введите название папки, в которой будут храниться файлы *.txt с текстом Вашего сайта $version = ("1.0"); ?> PHP: <? /*************************************************************************** * style.php * ------------------- * Begin : Sunday, Nov 5, 2006 * Copyright : (C) 2006 vowik.ru * E-Mail : [email=support@vowik.ru]support@vowik.ru[/email] * * ***************************************************************************/ if ( isset($_GET['style']) ) { if ( !empty($_GET['style']) ) { if ( !preg_match("#[^a-z]#s", $_GET['style']) ) { $style = $_GET['style']; } } } if($style == '') { $style = 'default'; } $filename = 'style/' . $style . '/index.tpl'; if ( file_exists($filename) ) { } else { $filename = 'style/default/index.tpl'; } $f_php = file($filename); for ($i = 0; $i < count($f_php); $i++) { $f_php[$i] = eregi_replace('{style_img}', $site_name.'/style/'. $style, $f_php[$i]); echo $f_php[$i]; } ?> PHP: <? /*************************************************************************** * index.tpl * ------------------- * Begin : Sunday, Nov 5, 2006 * Copyright : (C) 2006 vowik.ru * E-Mail : [email=support@vowik.ru]support@vowik.ru[/email] * * ***************************************************************************/ ?> <img src="{style_img}/img/0.gif"> <? include ("http://cms.vowik.ru/page.php"); ?> Вот только в последнем файле не происходит инклюда (( Я даже ему полный путь указал и относительный и заменной переменной.. ничгео не помагает.. в чем я не прав?? подскажите, плиз... И еще просьба... Как Вы видите, в файле config.php есть строчка $version.. так вот.. мне надо, что бы он (скрипт) стравнивал значение этой переменной со значением в другом файле.. (сейчас это реализовано посредством файла admin.php) PHP: <? /*************************************************************************** * admin.php * ------------------- * Begin : Sunday, Nov 5, 2006 * Copyright : (C) 2006 vowik.ru * E-Mail : [email=support@vowik.ru]support@vowik.ru[/email] * * *************************************************************************** К сожелению, админка, пока, работает ТОЛЬКО для проверки новых версий программы ***************************************************************************/ // Загрузка общей конфигурации include ("config.php"); printf ("<p align=\"center\"><i>Ваша версия </i> $version"); $new_version = include ("http://cms.vowik.ru/new.php"); ?> Но меня так не устраивает... При этом, он должен делать сранение, ДАЖЕ ЕСЛИ он находиться на другом сервере! Помоги, пожалуйста... заранее благодарен...
vasa_c, он не инклюдит ((( Я думал, что он ищет его в папке с index.tpl однако сначала tpl инклюиться, а потом уже пайдж (( Но не вставляет (((
1. Инклюдится (при относительном пути) относительно текущего каталога. А текущим каталогом изначально является каталог из которого запущен сценарий. 2. Не получается с относительными попробуй абсолютные, только пойми сначала, что "http://cms.vowik.ru/page.php" это не абсолютный путь, полный URL. 3. Так же разберись с тем, что происходит при include ("http://cms.vowik.ru/page.php") данная вещь вообще к нормальному include отношения не имеет. Здесь идет http-запрос на сервер, где выполнятеся указанный сценарий, а уже полученный результат интерпертируется, как php-код и выполняется. Если понял, что я сказал — хорошо, не понял — забей. Так же сначала почитай www.phpfaq.ru/paths ЗЫ. Еще обрати внимания на функцию dirname() и предопределенную константу __FILE__
Чего понимать то? Какая у тебя задача? Заинклюдить page.php? Он есть? Где он лежит? Какие проблемы возникают?
vasa_c, смотрите... файл index.tpl лежит в /style/default/ Да, он есть... порядок инклда следующий.. ./index.php -> ./style.php -> /style/default/index.tpl -> ./page.php не могу понять, почему не проиходит инклюда
А если его включить путь файла от корня сервера Допустим если он лежит в корне сайта попробуй так PHP: <? include($_SERVER['DOCUMENT_ROOT'].'/new.php'); ?> По моему должно работать.
Вльдемар, спокойно, сейчас человек подумает и сам все решит. ) Тем более ему не нужно от корня сервера (сайта все-таки), а нужно относительно другого файла.
Nemo, ты хочешь сказать, что в корне сайта лежать файлы: index.php и page.php Изначально запускается index.php, а внутри (в одном из подключаемых из него файлов) вызывается include( './page.php' ) и не работает?
vasa_c, да, они оба лежат в корне сайта... НО, посмотрите по схеме в каком порядке они инклудятся... Именно... и не работает меня єто и удивляет
Странно. А остальные подключаются? Если перед самим инклюдом сделать print getcwd(); что показывается?
Notice: Undefined variable: style in y:\home\vowik.ru\cms\style.php on line 21 Вот строка if($style == '') Вот вся часть... if($style == '') { $style = 'default'; }
PHP: if ( isset($_GET['style']) ) { if ( !empty($_GET['style']) ) { if ( !preg_match("#[^a-z]#s", $_GET['style']) ) { $style = $_GET['style']; } } } if($style == '') { $style = 'default'; } ну и подумай, почему style здесь может быть неопределен.
$style определяется в случае соблюдения некоторых условий (if). если условия не соблюдены, переменная не определена. логично?