Edit report at http://bugs.php.net/bug.php?id=52984&edit=1
ID: 52984 User updated 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: Open 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 text: Calling script (index.php): ls_execute(); Should read: Calling script (index.php): echo ls_execute(); Previous Comments: ------------------------------------------------------------------------ [2010-10-04 12:39:22] craig at logicshock dot co dot uk Description: ------------ While trying to use a PHP script to read the contents of another .php file using fopen(), it appears that PHP might be executing/skipping/altering the text as PHP code instead of treating it as plain text. The result is nothing like as would be expected as shown below, the result is missing lots of text. 2 versions of PHP have been tried 5.3.1 and 5.3.3 on Windows Vista and 7 both x86 and on two versions of Ubuntu server 8.10 & 9.04, the result is the same across all testbeds. Tried using fgets, fread and file_get_contents, all display the same result. This error was reproduced and verified by a colleague. Test script: --------------- Calling script (index.php): 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; } The file to be read (code.php): <?php echo " This is a test!"; ?> Expected result: ---------------- <?php echo " This is a test!"; ?> Actual result: -------------- "; ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=52984&edit=1