Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Буферизация вывода
Форумы портала PHP.SU » » Вопросы новичков » Буферизация вывода

Страниц (1): [1]
 

1. vlados - 16 Января, 2013 - 21:59:40 - перейти к сообщению
Здравствуйте!

Итак, у меня есть файл log.tpl

CODE (html):
скопировать код в буфер обмена
  1. <div class="asds">{OUTPUTLN}</div>


и скрипт, который во время работы делает вывод каких либо данных (например, ошибок или попросту обычная log информация).

До этого момента у меня все работало как надо с обычным flush(), но теперь я решил подключить и дизайн, поэтому мне как то надо все это сделать иным способом.

Я думаю, что можно сделать примерно так, но как это реализовать правильно???
PHP:
скопировать код в буфер обмена
  1.  
  2. $html = file_get_contents('./tpl/log.tpl');
  3. buffer(function($str){$html = str_replace('{OUTPUTLN}', $str.'<br>{OUTPUTLN}',$html);return str_replace('{OUTPUTLN}', '',$html);});
  4.  
  5. function work(){
  6.    // work...
  7.    // write string
  8.    echo "Sth log info";
  9.    buffer_flush();
  10. }
  11.  
  12. function another_work(){
  13.    // work...
  14.    // write string
  15.    echo "Sth log info";
  16.    buffer_flush();
  17. }
  18. echo 'start work';
  19.  
  20. work();
  21. another_work();
  22.  
  23. echo 'end work';


И результат будет такой:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div class="asds">
  3.     start work<br>
  4.     Sth log info<br>
  5.     Sth log info<br>
  6.     end work<br>
  7. </div>
  8.  

 

Powered by ExBB FM 1.0 RC1