ID: 30444
Comment by: nvtrinath at sify dot com
Reported By: eikke at eikke dot com
Status: No Feedback
Bug Type: Output Control
Operating System: Gentoo Linux and others
PHP Version: 4.3.9
New Comment:
testing purpose only
Previous Comments:
------------------------------------------------------------------------
[2004-12-08 01:00:02] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2004-11-27 16:43:59] [EMAIL PROTECTED]
Try it using CLI SAPI, without any browser between you and result.
------------------------------------------------------------------------
[2004-10-15 14:02:52] eikke at eikke dot com
Well, actually I only tested this using Firefox, caus thats the only
browser I got.
The strange thing is a script like this:
<?php
echo "test&";
?>
works perfectly...
------------------------------------------------------------------------
[2004-10-15 12:52:00] [EMAIL PROTECTED]
This is most likely a browser issue, which simply doesn't know how to
interpret & (the start of an entity). Does it work if you use a
different character than &?
------------------------------------------------------------------------
[2004-10-15 11:56:06] eikke at eikke dot com
Description:
------------
When running the following code, the output in browser isn't what one
would expect (there's a "&" missing).
If one outputs something after the echo(substr()) (like, echo "test")
it works fine, also if one outputs characters after the "?>"
This bug has been confirmed by Saveas on #php, freenode, running PHP
4.3.2 on Debian Apache1, and by me on 2 mod_php 4.3.9, Apache 2.0.51
Gentoo Linux systems (twice another configuration tough)
It does look like a buffer flush problem.
Reproduce code:
---------------
<?php
$t = array("t","e","s","t","j","e");
array_push($t, "t");
array_unshift($t, "");
var_dump($t);
echo "\n<br />";
$tmp = implode("&", $t);
echo $tmp;
echo "\n<br />";
echo(substr($tmp, 0, -1));
//echo "<br />test";
?>
Expected result:
----------------
array(8) { [0]=> string(0) "" [1]=> string(1) "t" [2]=> string(1)
"e" [3]=> string(1) "s" [4]=> string(1) "t" [5]=> string(1) "j"
[6]=> string(1) "e" [7]=> string(1) "t" }
&t&e&s&t&j&e&t
&t&e&s&t&j&e&
Actual result:
--------------
array(8) { [0]=> string(0) "" [1]=> string(1) "t" [2]=> string(1)
"e" [3]=> string(1) "s" [4]=> string(1) "t" [5]=> string(1) "j"
[6]=> string(1) "e" [7]=> string(1) "t" }
&t&e&s&t&j&e&t
&t&e&s&t&j&e
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30444&edit=1