|
|
|
| Нужно в файле main.php отобразить содержимое файла post.php. Сейчас я использую для этого фрейм:
файл post.php:
/* Здесь длинный html и php -код*/
|
файл main.php:
$text="<iframe src='post.php'></iframe>";
<body><div>
<?php echo $text;?>
</div></body>
|
Но фрейм использовать мне не хотелось бы. Если написать
$text=file_get_contents('post.php');
|
то выводится php -код в текстовом виде.
Как лучше поступить, чтобы не использовать фрейм? Функции типа includе() мне не подходят.
Спасибо. | |
|
|
|
|
|
|
|
для: coloboc66
(26.06.2012 в 13:47)
| | Объясните, чем функция Include не подходит? Возможно найдется решение.
<?
$text=file_get_contents('http://site.ru/post.php');
|
отобразит Вам ваш файл. Но Include для этих целей правильнее. То что он Вам не подходит есть сомнения.
Поэтому напишите причину того, почему он не подходит. | |
|
|
|
|
|
|
|
для: speedsoft
(26.06.2012 в 13:58)
| | Потому что структура файла main.php такова:
$text=/* результат работы 1-го скрипта */
$text=/* результат работы 2-го скрипта */
...
$text=/* результат работы n-го скрипта */
$text=/* результат работы скрипта, выводящего файл post.php */
<div>
echo $text;
</div>
|
И как мне в таком случае использовать include()?
И вот ещё что обнаружил: теги селектов во фрейме не работают (не выпадают списки), по крайней мере - в лисе... | |
|
|
|
|
|
|
|
для: coloboc66
(26.06.2012 в 16:00)
| |
ob_start();
include($file1);
$out1 = ob_get_contents();
ob_end_clean();
ob_start();
include($file2);
$out2 = ob_get_contents();
ob_end_clean();
|
вот 2а инклуда оказались в переменных. | |
|
|
|
|
|
|
|
для: speedsoft
(27.06.2012 в 12:54)
| | А вкратце - какова логика работы этого скрипта? Упомянутые функции (ob_...) я совсем не знаю. | |
|
|
|
|
|
|
|
для: coloboc66
(27.06.2012 в 15:25)
| | Эти функции перехватывают вывод в браузер и сохраняют в буфере, который можно преобразовывать, сжимать, извлекать и лишь потом отправлять клиенту. | |
|
|
|
|
|
|
|
для: coloboc66
(27.06.2012 в 15:25)
| | cheops все описал, я лишь прокомментирую код.
<?
//Сообщаем интерпритатору, что все что дальше будет выводиться
//выводить в буфферную память, а не в поток вывода (клиенту)
ob_start();
//собственно выводим, но интерпритатор перехватывает вывод
//и пишет его в буффер
include($file1);
//отдаем содержимое буффера в переменную
$out1 = ob_get_contents();
//очищаем буффер и возвращаем все к нормальному выводу на экран
ob_end_clean();
|
| |
|
|
|