Reply to Re: [PHP] ob_start changed from php4 to php5?

Your name:

Reply:


Posted by "Richard Lynch" on 08/18/05 09:57

On Wed, August 17, 2005 10:12 am, Marten Lehmann wrote:
> I have a function catching the output of a script:
>
> function encodeDomain ($domain) {
> ob_start();
> system("echo '$domain'");
> $output = ob_get_contents();
> ob_end_clean();
> }
>
> And I have a php-script using this function:
>
> <?
>
> encodeDomain($domain);
> header("Location: http://www.php.net");
>
> ?>
>
> While this worked fine in PHP4, with PHP5.0.4 I always get the
> following
> error:
>
> Warning: Cannot modify header information - headers already sent in
> test.php on line 4

I'm guessing that the error message has MORE information than that --
like the line number of the file in which the output occurred.

I'm also guessing that it's the LAST line of the file with the
"encodeDomain" function in it that you "include" in your test.php

I'm also guessing that there's a NEWLINE character after the final ?>
in that file on your 5.0.4 box, but that NEWLINE character is *NOT*
there on your 4.0 box.

> The redirect works if I don't use the encodeDomain() function. Does
> the
> system-output affect the php-outout status in any way? I checked the
> raw
> http-output and I can see nothing of the output from the
> system()-call.
> Does maybe PHP simply say "output has been send" although it hasn't
> been
> send actually?

Sort of.

Apache may be buffering output, or you may even have output_buffering
set to "on" in php.ini or gzip may be involved and buffering or...

But as far as PHP is concerned, the headers went "out" even if
somebody else somewhere is buffering them and you don't see any
output.

--
Like Music?
http://l-i-e.com/artists.htm

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация