Edit report at http://bugs.php.net/bug.php?id=52984&edit=1
ID: 52984
Comment by: bugs dot php at luden dot se
Reported by: craig at logicshock dot co dot uk
Summary: PHP executing text from .php file opened with
fopen().
Status: Bogus
Type: Bug
Package: *Directory/Filesystem functions
Operating System: Ubuntu 8.10/9.04, Windows 7 x86
PHP Version: Irrelevant
Block user comment: N
New Comment:
The problem is probably that the browser tries to
interpret the "<?php ... >" part as some kind of
HTML element. Either deliver the code as valid HTML
or as "text/plain".
Previous Comments:
------------------------------------------------------------------------
[2010-10-04 14:18:34] craig at logicshock dot co dot uk
Ok, it is not a PHP bug!
I had been trying it in Chrome, total failure everytime, so I thought
I'd try it
in IE and FF... the result:
<html><body>
// This is a test comment, doesnt matter that it is not in the php tags
because
this
// file SHOULD NEVER BE EXECUTED!
<?php
echo " This is a test<?php ?>";
?>
</body></html>
The moral of the story is.. avoid Chrome!
Thanks for your time here, I'm going to pester the Google Chrome bug
people now.
------------------------------------------------------------------------
[2010-10-04 14:07:33] craig at logicshock dot co dot uk
Ok, the browser result is:
<html><body>
// This is a test comment, doesnt matter that it is not in the php tags
because
this
// file SHOULD NEVER BE EXECUTED!
";
?>
</body></html>
It shows that the browser is only getting 'part' of the text as a
response.
And the complete test code is:
<?php
echo ls_execute();
function ls_execute()
{
$fp = fopen('code.php', 'r') or die('Cannot open that source
resource');
while(!feof($fp))
{
$data .= fread($fp,128);
}
fclose($fp);
return $data;
}
?>
------------------------------------------------------------------------
[2010-10-04 13:54:49] [email protected]
Ah :)
Just reading again your report. You are calling the script from a
webserver right? Via your browser? Then show the source of the page,
that should give you the answer.
------------------------------------------------------------------------
[2010-10-04 13:53:32] [email protected]
Please paste the exact scripts you are using to test. There is no bug
like or we would have hundred of bugs reports about it already. And it
works just fine here (BSD, windows, linux), iirc.
------------------------------------------------------------------------
[2010-10-04 13:52:40] craig at logicshock dot co dot uk
Another update, in the source file that is read using fopen, if I change
the <?php
to < ?php the function works as expected, so, somewhere along the line
PHP is
finding the <?php in the text and is recognising it as PHP code where it
should
only be treating it as plain text.
Also, changing the file extension make no difference
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/bug.php?id=52984
--
Edit this bug report at http://bugs.php.net/bug.php?id=52984&edit=1