Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: header и вывод информации
 
 автор: Shorr Kan   (10.05.2005 в 01:42)   письмо автору
 
 

Я в нескольких местах вычитал, что для вывода до header можно использовать буфер. Это так? То есть, после этого header будет работать? У меня пока не получается...


<?ob_start();
$file=file("t.txt");
$row="";
for(
$i=0;$i<count($file);$i++){
$row.=$file[$i];
}
print 
$row;
ob_flush();
header("Location: test.php"); 
?>

   
 
 автор: Shorr Kan   (10.05.2005 в 02:10)   письмо автору
 
   для: Shorr Kan   (10.05.2005 в 01:42)
 

Вообще-то, ситуация такова:

test.php

<table>
<tr><td id="text"></td></tr>
<tr><td><iframe src="iframe.php" width="200" height="200" frameborder="1"></iframe></td></tr>
</table>


iframe.php

<?ob_start();
$file=file("t.txt");
$row="";
for(
$i=0;$i<count($file);$i++){
$row.=$file[$i];
}
?>
<script>//parent.document.reload();
parent.document.all['text'].innerText="<?print $row;ob_flush();?>";
</script>

<?header("Location: iframe.php");?>

   
 
 автор: cheops   (10.05.2005 в 12:48)   письмо автору
 
   для: Shorr Kan   (10.05.2005 в 01:42)
 

На самом деле header сработает раньше вывода, на этом весь эффект и построен. Я применил здесь установку cookie, но можно поставить и Location, только результата видно не будет так как редирект будет происходить раньше, чем придут данные для вывода в браузер. Чудес не бывает, заголовки всё равно должны отправляться первыми, а данные за ними - буффер - это лишь обходной манёвр, чтобы более удобно организовать код.
<?php
  
// Помещаем всё в буффер
  
ob_start(); 
  
$file=file("t.txt"); 
  
$row=""
  for(
$i=0;$i<count($file);$i++)
  { 
    
$row.=$file[$i]; 
  } 
  
// Преждевременный вывод в окно браузера
  
print $row
  
// занесение содержимого буфера в переменную
  
$strtmp ob_get_contents();
  
// очищение буфера вывода и отключение буферизации вывода
  
ob_end_clean();
  
setcookie("test",5,time()+3600); 
  
// Отправляем информацию из буффера
  // в браузер
  
echo $strtmp;
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования