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

Форум PHP

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

 

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

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

тема: по поводу ob_start() и header()
 
 автор: KPETuH   (16.07.2007 в 06:17)   письмо автору
 
 

Никак не могу заставить коректно работать буферизации вывода с заголовками, может кто что посоветует...

   
 
 автор: bronenos   (16.07.2007 в 08:14)   письмо автору
 
   для: KPETuH   (16.07.2007 в 06:17)
 

поиск.
эти команды должны быть в первых строчках до любого вывода

   
 
 автор: cheops   (16.07.2007 в 09:25)   письмо автору
 
   для: KPETuH   (16.07.2007 в 06:17)
 

А в чём выражается "не работа" функций?

   
 
 автор: KPETuH   (16.07.2007 в 12:07)   письмо автору
 
   для: cheops   (16.07.2007 в 09:25)
 

либо не выводится текст из буфера либо вообще ничего не происходит... причем без хедера проверял все нормально работает и выводится....

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

   
 
 автор: bronenos   (16.07.2007 в 12:35)   письмо автору
 
   для: KPETuH   (16.07.2007 в 12:07)
 

приведите код или его проблемную часть

   
 
 автор: KPETuH   (16.07.2007 в 12:39)   письмо автору
 
   для: bronenos   (16.07.2007 в 12:35)
 

Например

<?php
  ob_start
();
  
session_set_cookie_params(600);
  
session_start();
...
...
...
if (
$oplata==3)
{
  echo 
"Платеж прошел!";
  
$f '123.zip';
  
header("Content-type: application/zip");
  
header("Content-Disposition: attachment; filename=zip.zip");
  
readfile($f);
  
ob_end_flush();
}

   
 
 автор: kasmanaft   (16.07.2007 в 13:41)   письмо автору
 
   для: KPETuH   (16.07.2007 в 12:39)
 

Вы отдаете zip файл, причем тут "Платеж прошел" ?

   
 
 автор: vbps   (16.07.2007 в 14:05)   письмо автору
 
   для: kasmanaft   (16.07.2007 в 13:41)
 

А ob_end_flush вынести за } не пробовали?

   
 
 автор: KPETuH   (17.07.2007 в 08:47)   письмо автору
 
   для: kasmanaft   (16.07.2007 в 13:41)
 

да я отдаю файл при этом пытаюсь сообщить пользователю что платеж его прошел...

за скобки вынести пробовал, в самом конце скрипта ставил все равно не пашет...

   
 
 автор: bronenos   (17.07.2007 в 09:04)   письмо автору
 
   для: KPETuH   (17.07.2007 в 08:47)
 

от сообщения придется отказаться ибо браузер воспринимает это сообщение как часть файла

   
 
 автор: KPETuH   (17.07.2007 в 12:05)   письмо автору
 
   для: bronenos   (17.07.2007 в 09:04)
 

спасибо вот этого и хотел ЯСНОСТИ :)

   
 
 автор: kasmanaft   (17.07.2007 в 09:20)   письмо автору
 
   для: KPETuH   (17.07.2007 в 08:47)
 

Клиент получит заголовки "Content-type: application/zip ....", говорящие о том, что все, что идет в теле после этих заголовков есть зип файл. Тот же "платеж прошел" - тоже часть зип файла.

   
 
 автор: Trianon   (17.07.2007 в 10:00)   письмо автору
 
   для: KPETuH   (17.07.2007 в 08:47)
 

>да я отдаю файл при этом пытаюсь сообщить пользователю что платеж его прошел...

Страница, на которой Вы хотите что-то сообщить - это (с точки зрения протокола http) отдельный независимый документ.
Zip-файл - тоже отдельный документ.
Нельзя в одном и том же отклике выдать пользователю два документа.

   
Rambler's Top100
вверх

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