ФорумПрограммированиеPHP для идиотов → Smarty (Ошибка при переносе)

Smarty (Ошибка при переносе)

  • Saimon

    Сообщения: 76 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2008 г. 13:21

    Сделал сайт, пока он был не большим было все нормально, но сейчас он стал разрастаться… Пришлось задуматься о шаблонизаторах)))
    Установил xampp-win32-1.6.6a, поставил Smarty, попробовал стандартные шаблоны все нормально.
    Стал переделывать сайт и сразу возникла проблема. Не могу подключить шаблон к странице если она находиться не в корневой папке, возникает ошибка:

    Warning: require(D:/Server/htdocs../libs/Smarty.class.php) [function.require]: failed to open stream: No such file or directory in D:\Server\htdocs\mysite1\www\index.php on line 51

    Fatal error: require() [function.require]: Failed opening required 'D:/Server/htdocs../libs/Smarty.class.php' (include_path='.;D:\Server\php\pear\') in D:\Server\htdocs\mysite1\www\index.php on line 51

    понимаю что дело в указании пути для подключения Smarty.class.php, но не чего сделать сам не смог.
  • Saimon

    Сообщения: 76 Репутация: N Группа: Кто попало

    Spritz 28 сентября 2008 г. 13:29, спустя 8 минут 30 секунд

    если указывать полный путь до Smarty.class.php ("D:/Server/htdocs/mysite1/libs/Smarty.class.php";)
    то изменится только код ошибки

    Warning: Smarty error: unable to read resource: "header.tpl" in D:\Server\htdocs\mysite1\libs\Smarty.class.php on line 1092

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 28 сентября 2008 г. 16:43, спустя 3 часа 13 минут 10 секунд


    Warning: Smarty error: unable to read resource: "header.tpl" in D:\Server\htdocs\mysite1\libs\Smarty.class.php on line 1092


    Думаю стоит указать путь до шаблонов ;)
    adw/0
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 29 сентября 2008 г. 1:05, спустя 8 часов 22 минуты 11 секунд

    Saimon, про пути читай здесь — http://pyha.ru/forum/topic/101.0
    подключи нормально, а потом укажи диру с шаблонами и туда их сваливай
    и незачем в раздел F.A.Q. писать, он не для этого
    все умрут, а я изумруд
  • Saimon

    Сообщения: 76 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2008 г. 11:44, спустя 10 часов 38 минут 45 секунд

    Спасибо большое, разобрался )
    Все получилось, просто задал путь через переменную $_SERVER['DOCUMENT_ROOT'] = 'D:/Server/htdocs/';
    Приношу свои извинения, что разместил тему не там)
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 29 сентября 2008 г. 11:51, спустя 7 минут 1 секунду

    $_SERVER['DOCUMENT_ROOT'] = 'D:/Server/htdocs/';

    wtf code?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 сентября 2008 г. 11:51, спустя 47 секунд


    Спасибо большое, разобрался )
    Все получилось, просто задал путь через переменную  $_SERVER['DOCUMENT_ROOT'] = 'D:/Server/htdocs/';
    Приношу свои извинения, что разместил тему не там)



    Плохо что именно так сделали…. надо прописать путь до директории в настройках веб-сервера
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 сентября 2008 г. 11:52, спустя 23 секунды


    $_SERVER['DOCUMENT_ROOT'] = 'D:/Server/htdocs/';

    wtf code?


    переназначение элемента массива
    adw/0
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 29 сентября 2008 г. 11:53, спустя 1 минуту 44 секунды

    А $_SERVER['DOCUMENT_ROOT'] что возвращает?
    D:/Server/htdocs/
    (:
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 29 сентября 2008 г. 11:59, спустя 5 минут 37 секунд

    ini_set('include_path', $_SERVER['DOCUMENT_ROOT']);

    А так можно?
    А что делать если надо не инклюдить, а взять содержимое файла (file_get_contents)? include_path будет работать?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 сентября 2008 г. 11:59, спустя 15 секунд

    aivee, "тихо сам с собою я веду беседу"?))
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 сентября 2008 г. 12:00, спустя 57 секунд

    aivee, include_path это include_path, не путать с DOCUMENT_ROOT
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 сентября 2008 г. 12:01, спустя 26 секунд

    А что делать если надо не инклюдить, а взять содержимое файла (file_get_contents)? include_path будет работать?


    смысл?))
    adw/0
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 29 сентября 2008 г. 12:01, спустя 16 секунд

    Да не, просто зачем переопределять предопределенную переменную, если она будет переопределяться на предопределенное значение?
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 29 сентября 2008 г. 12:06, спустя 5 минут 16 секунд

    include_path это include_path, не путать с DOCUMENT_ROOT


    У меня работает.

    ini_set('include_path', $_SERVER['DOCUMENT_ROOT'] . '/test/');

    include_once 'test.php'; // test/test.php

Пожалуйста, авторизуйтесь, чтобы написать комментарий!