Bug #52984 [Com]: PHP executing text from .php file opened with fopen().

From: Date: Mon, 04 Oct 2010 12:18:37 +0000
Subject: Bug #52984 [Com]: PHP executing text from .php file opened with fopen().
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-154900@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=52984&edit=1 ID: 52984 Comment by: craig at logicshock dot co dot uk 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: 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. Previous Comments: ------------------------------------------------------------------------ [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] pajoye@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] pajoye@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 ------------------------------------------------------------------------ [2010-10-04 13:25:32] craig at logicshock dot co dot uk As an update, I altered the code.php file to see if the contents made a difference. The changed file is: // 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 ?>"; ?> Now, the resulting output should be that exact text as the reading script is only reading the text, not executing it. However the result is instead: // This is a test comment, doesnt matter that it is not in the php tags because this // file SHOULD NEVER BE EXECUTED! "; ?> There is something wrong here, because it is reading parts and not others.... To be sure I tried it on my Windows machine (PHP 5.3.1) , and again on two of my Linux servers (PHP 5.2.6 & 5.3.3), the result is the same on all three. I still cannot see any coding error. Surely this is a bug? ------------------------------------------------------------------------ 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

« previous php.bugs (#154900) next »