[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получить содержимое файла с выполненным кодом php
DarkGuy
Добрый день!
Суть в чем, есть ряд файлов

categories.top.php
categories.center.php

в каждом фале содержаться определенные переменные и html

и вот таким макаром выводятся

    foreach($value['texts'] as $key2 => $value2) {
include THEME.$this->theme.DS.'categories.center.php';
}


сейчас, мне потребовалось содержимое файлов с подставленными значениями переменных закатать в переменную $zltbk

подскажите как это можно сделать.

пробовал так, но значения переменных в файлах не заменяются выводит только html
    foreach($value['texts'] as $key2 => $value2) {
$content .= file_get_contents( THEME.$this->theme.DS.'categories.center.php');
}
twin
Это возможно.
Но это не тот путь, которым должен идти джедай, или кто там по определению...

Скажи, о, вьюношь. Чем озаботил тебя сей код. Не в темную ли сторону взор обрщен твой?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
DarkGuy
Цитата (twin @ 25.10.2013 - 19:12)
Это возможно.
Но это не тот путь, которым должен идти джедай, или кто там по определению...

Скажи, о, вьюношь. Чем озаботил тебя сей код. Не в темную ли сторону взор обрщен твой?

На темную сторону не перешел я и взор мой ясен.
Как известно ранее было. Постигаю науку Php я. Но паттерны в сомнения меня вогнали. И решение принято мной было движок написать для закрепления. И поставлена задача сделать так, чтобы без перезагрузки работало, аль нету js, то так работало. И сделал я файла два. index.php и controller.php и при включенном js запрос шел в controller.php, а без в index.php, где тема собиралась

 foreach($value['texts'] as $key2 => $value2) {
include THEME.$this->theme.DS.'categories.center.php';
}


В controller.php же содержание и часть темы, обертку в данном случае categories.center.php , для содержания отдавать массивом я захотел.

Вот отсель и пошел корень моего вопроса....
waldicom
Свернутый текст
И мне! И мне травы такой дайте smile.gif


_____________
Свои мозги еще никто не отменял.
Телепатов нету.
inpost
DarkGuy
Буферизация вывода.
ob_start и т.д.

Решит твою задачу:
"сейчас, мне потребовалось содержимое файлов с подставленными значениями переменных закатать в переменную $zltbk".

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
twin
waldicom
И не проси. Не отсыплю. :)

DarkGuy
В случае таком совету отрока последуй, что вышезначимый ответ дал. Однако на путь опасный встал ты, падаван, ибо инклюду не место в цикле. Обратиться он к системе файловой многократно может, что вред несет устройству и памяти ущерб.

Гнев сенсеев на голову мою обрушится сейчас, крамольную вещь скажу так как тебе я. Однако в случе твоем функция помочь может, темные силы которую пользуют и слабые духом боятся. eval() имя ей.

Вот пример, как пользу извлечь можно, если сила в тебе пребудет:
/**
* Function of reading of templates
* Функция чтения шаблонов
*/

function getTpl($tpl)
{
if(file_exists(IRB_ROOT .'/skins/tpl/'. $tpl .'.tpl'))
return file_get_contents(IRB_ROOT .'/skins/tpl/'. $tpl .'.tpl');
else
die('The template <b>'. $tpl .'.tpl</b> is absent in the specification');
}

/**
* Function of analysis of a template
* Функция разбора шаблона
*/

function parseTpl($cont, $data = '')
{
if(is_array($data))
{
extract($data);

ob_start();
eval('?>'. $cont .'<?php ');
$content = ob_get_clean();
}

return $content;
}


Тогда читать шаблон единожды можно, первую использовав, а в цикле вторую крутить, дабы к ФС не обращться лишний раз и светлой стороны держаться.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.