выдачу include'а запихнуть в переменную

GrayMaster

Новичок
выдачу include'а запихнуть в переменную

Добрый день !
Такая проблема... Есть большой скрипт, который нужно include'ить на страницу.
Я хочу инклуд делать в шаблоне, т.е. заменить "{content}" на тот текст который даёт include "script.php";

Понимаю что можно разрезать страницу на куски, т.е. до {content} и после него, потом вывести хеадер, замет инклуд, затем футер.

Но это не вариант, т.к. шаблон довольно сложный, нужно будет многое переписывать...

Вот такая вот задача... Думаю можно как-нибудь решить eval'ом... а как ? :)

Заранее благодарен.
 

GrayMaster

Новичок
Хе, всё так просто :) Очень благодарен !
Я до этого костылями всё делал, т.е. менял echo в $out .= и т.п. :)

-~{}~ 29.07.05 16:53:

Хм...
С простейшим скриптом работает нормально, а с навороченым, выдает пустой результат. Тот скрипт большой (+юзает smatry class), поэтому исходник выложить немогу :(
 

GrayMaster

Новичок
А нет, это у меня что-то не так...
простой код:
PHP:
ob_start();
$q = "credit";
include "ppc.inc.php";
$contents = ob_get_contents();
ob_end_clean();
работает нормально, а выдача в шаблон - пустой результат. буду разбираться.

У меня ob_start, ob_end_clean - выполняются в функции, и почему-то именно в функции нет выдачи. Если без функции то скрипт возвращает нормальный результат. (только с ppc.inc.php так, юзал свои простейщие скрипты - работают нормально).

и ещё вот такой вопрос... Как передать переменную $q скрипту "ppc.inc.php" ?
 

Сергей123

Новичок
после кода
PHP:
$q = "credit";
include "ppc.inc.php";
в 1 строке файла ppc.inc.php $q уже видна

-~{}~ 29.07.05 13:26:

>> Как сделать выдачу в функции?
PHP:
echo fnc(); # output

function fnc() {

    ob_start();
    echo 'output';
    $contents = ob_get_contents();
    ob_end_clean();
    return $contents;

} # function
А что не работает?
 

GrayMaster

Новичок
это да, то $q я задаю после ob_start(), а нужно задать до него. И ещё по-моему скрипт не работает из-за переменных - в функцию они не предаются, а выполнение именно в функции.
Без функции - работает. Вопрос в том, как передать в функцию все переменные :) точнее это уже не функция а include.

-~{}~ 29.07.05 18:10:

Проблемы были из-за глобальныйх переменных (в функцию не передаются), взял функцию запихнул в page.inc.php и теперь include делаю где нужно вывести страницу.
Проблема решена.
 
Сверху