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

Форум PHP

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

 

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

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

тема: Warning: Cannot modify header information - headers already sent by
 
 автор: Егор_egerb   (03.10.2007 в 17:40)   письмо автору
 
 

Здравствуйте.
Может кто-то знает что это может быть за ошибка :
\Warning: Cannot modify header information - headers already sent by (output started at c:\opensa\apache\htdocs\price.class.php:12) in c:\opensa\apache\htdocs\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
она происходит когда я пытаюсь какую-либо надпись в формате pdf вывести в браузер.
Вроде нужный класс скачал по ссылке http://www.fpdf.org (fpdf.php) и что не делаю проблема острается,может я что-то с настройками файла httpd.conf не доуказал.Подскажите кто знает,спасибо.

   
 
 автор: Faraon   (03.10.2007 в 17:45)   письмо автору
 
   для: Егор_egerb   (03.10.2007 в 17:40)
 

До передачи заголовков присутствует вывод в браузер, или перед <?php есть пустая строка или пробел, что не допустимо

   
 
 автор: Егор_egerb   (03.10.2007 в 17:57)   письмо автору
 
   для: Faraon   (03.10.2007 в 17:45)
 

Вот кусок кода, где он ошибку показывает
case 'I':
//Send to standard output
if(isset($HTTP_SERVER_VARS['SERVER_NAME']))
{
//We send to a browser
Header('Content-Type: application/pdf');//В ЭТОЙ СТРОЧКЕ
if(headers_sent())
$this->Error('Some data has already been output to browser, can\'t send PDF file');
Header('Content-Length: '.strlen($this->buffer));
Header('Content-disposition: inline; filename='.$name);
}
echo $this->buffer;
вроде читаю как в примере указано было,все долно работать якобы, как можно устранить проблему не подскажешь?

   
 
 автор: bronenos   (03.10.2007 в 18:28)   письмо автору
 
   для: Егор_egerb   (03.10.2007 в 17:57)
 

перед этой строчкой НЕ должно быть НИ одной команды print / echo, перед открывающии скобками не должно быть НИ одного символа, даже пробела

поскольку сначала сервер отправляет заголовки, а потом документ, а если вы используете print / echo (=документ), то заголовки отослать уже не получится - поезд уехал
о че, собсна, и говорит пхп

   
 
 автор: cheops   (04.10.2007 в 10:35)   письмо автору
 
   для: Егор_egerb   (03.10.2007 в 17:40)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.

http://www.softtime.ru/group/id_group=12

   
Rambler's Top100
вверх

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