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] paj...@php.net

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] paj...@php.net

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

Reply via email to