За последние 24 часа нас посетили 22556 программистов и 1141 робот. Сейчас ищут 799 программистов ...

Помоги, плиз... не инклюдит файл :(((

Тема в разделе "Вопросы от блондинок", создана пользователем EvelRus, 4 дек 2006.

  1. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    значит... пытаюсь сделать свою cms (для себя любимого), но вот незадача.. :((( есть файлы... щас все покажу..

    PHP:
    1.  
    2. <?
    3. /***************************************************************************
    4.  *                              index.php
    5.  *                            -------------------
    6.  *   Begin                 : Sunday, Nov 5, 2006
    7.  *   Copyright             : (C) 2006 vowik.ru
    8.  *   E-Mail                : [email=support@vowik.ru]support@vowik.ru[/email]
    9.  *
    10.  *
    11.  ***************************************************************************/
    12. // Загрузка общей конфигурации
    13. include "config.php";
    14. include "style.php";
    15. $copyright = "<p align=\"center\"><font size=\"1\"><a target=\"_blank\" href=\"http://cms.vowik.ru/\">VowikEasyCMS© - $version</a></font></p>";
    16. echo ("$copyright");
    17. ?>
    18.  
    PHP:
    1.  
    2. <?
    3. /***************************************************************************
    4.  *                              config.php
    5.  *                            -------------------
    6.  *   Begin                 : Sunday, Nov 5, 2006
    7.  *   Copyright             : (C) 2006 vowik.ru
    8.  *   E-Mail                : [email=support@vowik.ru]support@vowik.ru[/email]
    9.  *
    10.  *
    11.  ***************************************************************************/
    12. $site_name = "http://cms.vowik.ru";
    13. $page_name = "text"; // Введите название папки, в которой будут храниться файлы *.txt с текстом Вашего сайта
    14. $version =  ("1.0");
    15. ?>
    16.  
    PHP:
    1.  
    2. <?
    3. /***************************************************************************
    4.  *                              style.php
    5.  *                            -------------------
    6.  *   Begin                : Sunday, Nov 5, 2006
    7.  *   Copyright          : (C) 2006 vowik.ru
    8.  *   E-Mail                : [email=support@vowik.ru]support@vowik.ru[/email]
    9.  *
    10.  *
    11.  ***************************************************************************/
    12. if ( isset($_GET['style']) )
    13. {
    14.    if ( !empty($_GET['style']) )
    15.    {
    16.       if ( !preg_match("#[^a-z]#s", $_GET['style']) )
    17.       {
    18.          $style = $_GET['style'];
    19.       }
    20.    }
    21. }
    22. if($style == '')
    23. {
    24. $style = 'default';
    25. }
    26.  
    27. $filename = 'style/' . $style . '/index.tpl';
    28. if ( file_exists($filename) )
    29. {
    30. }
    31. else
    32. {
    33.   $filename = 'style/default/index.tpl';
    34. }
    35. $f_php = file($filename);
    36. for ($i = 0; $i < count($f_php); $i++)
    37. {
    38.       $f_php[$i] = eregi_replace('{style_img}', $site_name.'/style/'. $style, $f_php[$i]);
    39.       echo $f_php[$i];
    40. }
    41. ?>
    42.  
    PHP:
    1.  
    2. <?
    3. /***************************************************************************
    4.  *                              index.tpl
    5.  *                            -------------------
    6.  *   Begin                : Sunday, Nov 5, 2006
    7.  *   Copyright          : (C) 2006 vowik.ru
    8.  *   E-Mail                : [email=support@vowik.ru]support@vowik.ru[/email]
    9.  *
    10.  *
    11.  ***************************************************************************/
    12.  ?>
    13. <img src="{style_img}/img/0.gif">
    14. <?
    15. include ("http://cms.vowik.ru/page.php");
    16. ?>
    17.  
    Вот только в последнем файле не происходит инклюда :((( Я даже ему полный путь указал и относительный и заменной переменной.. ничгео не помагает.. в чем я не прав?? подскажите, плиз...



    И еще просьба... Как Вы видите, в файле config.php есть строчка $version.. так вот.. мне надо, что бы он (скрипт) стравнивал значение этой переменной со значением в другом файле.. (сейчас это реализовано посредством файла admin.php)

    PHP:
    1.  
    2. <?
    3. /***************************************************************************
    4.  *                              admin.php
    5.  *                            -------------------
    6.  *   Begin                 : Sunday, Nov 5, 2006
    7.  *   Copyright             : (C) 2006 vowik.ru
    8.  *   E-Mail                : [email=support@vowik.ru]support@vowik.ru[/email]
    9.  *
    10.  *
    11. ***************************************************************************
    12. К сожелению, админка, пока,  работает ТОЛЬКО для проверки новых версий программы
    13. ***************************************************************************/
    14. // Загрузка общей конфигурации
    15. include ("config.php");
    16. printf ("<p align=\"center\"><i>Ваша версия </i> $version");
    17. $new_version = include ("http://cms.vowik.ru/new.php");
    18. ?>
    19.  
    Но меня так не устраивает... При этом, он должен делать сранение, ДАЖЕ ЕСЛИ он находиться на другом сервере!
    Помоги, пожалуйста... заранее благодарен...
     
  2. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    include ("http://cms.vowik.ru/page.php"); — чего ты творишь? include( 'page.php' ) мало?
     
  3. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, он не инклюдит :(((( Я думал, что он ищет его в папке с index.tpl однако сначала tpl инклюиться, а потом уже пайдж :(((

    Но не вставляет :((((
     
  4. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    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__
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, понял спасибо :) (єто я про полній УРЛ ;) )
     
  6. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    про остальное не очень :)))))
    Я недавно в пхп, поэтому много не понимаю :)
     
  7. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Чего понимать то?
    Какая у тебя задача? Заинклюдить page.php?
    Он есть? Где он лежит? Какие проблемы возникают?
     
  8. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, смотрите... файл index.tpl лежит в /style/default/

    Да, он есть... порядок инклда следующий..
    ./index.php -> ./style.php -> /style/default/index.tpl -> ./page.php
    не могу понять, почему не проиходит инклюда :(
     
  9. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Все-таки повторю вопрос — в каком каталоге лежит page.php?
     
  10. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    А если его включить путь файла от корня сервера
    Допустим если он лежит в корне сайта попробуй так
    PHP:
    1.  
    2. <?
    3. include($_SERVER['DOCUMENT_ROOT'].'/new.php');
    4. ?>
    5.  
    По моему должно работать.
     
  11. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, в коне сайта.. я же показал :)))
     
  12. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Вльдемар, спокойно, сейчас человек подумает и сам все решит. )
    Тем более ему не нужно от корня сервера (сайта все-таки), а нужно относительно другого файла.
     
  13. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Вльдемар, не помогло :(
     
  14. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Nemo, ты хочешь сказать, что в корне сайта лежать файлы:
    index.php
    и page.php

    Изначально запускается index.php, а внутри (в одном из подключаемых из него файлов) вызывается include( './page.php' ) и не работает?
     
  15. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, да, они оба лежат в корне сайта... НО, посмотрите по схеме в каком порядке они инклудятся... Именно... и не работает меня єто и удивляет :(
     
  16. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Странно. А остальные подключаются?
    Если перед самим инклюдом сделать
    print getcwd();
    что показывается?
     
  17. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Notice: Undefined variable: style in y:\home\vowik.ru\cms\style.php on line 21
    Вот строка if($style == '')
    Вот вся часть...
    if($style == '')
    {
    $style = 'default';
    }
     
  18. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    PHP:
    1. if ( isset($_GET['style']) )
    2. {
    3.    if ( !empty($_GET['style']) )
    4.    {
    5.       if ( !preg_match("#[^a-z]#s", $_GET['style']) )
    6.       {
    7.          $style = $_GET['style'];
    8.       }
    9.    }
    10. }
    11. if($style == '')
    12. {
    13. $style = 'default';
    14. }
    ну и подумай, почему style здесь может быть неопределен.
     
  19. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, честно? Даже не представляю :(((
    В другом файле все тоже самое, но нормально инклюдит :)
     
  20. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    $style определяется в случае соблюдения некоторых условий (if). если условия не соблюдены, переменная не определена. логично? :)
     
  21. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Belegnar, конечно логично :)
    НО как тогда сделать, что бі при пустом "стиле" загружался стиль Дефаулт?
     
  22. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Простите, люди добрые, кто-нибудь поможет??
     
  23. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Т.е. за эти 2 дня ты так и не подумал головой?
     
  24. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    vasa_c, это бесполезно :))) Я не настолько хорошо наю пхп :( Поэтому и прошу помочь.
     
  25. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    написать до условий $style = 'default' видимо. :)