Bug #52984 [Opn->Bgs]: PHP executing text from .php file opened with fopen().
| From: | pajoye@php.net | Date: | Mon, 04 Oct 2010 10:45:16 +0000 |
| Subject: | Bug #52984 [Opn->Bgs]: PHP executing text from .php file opened with fopen(). | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-154887@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
Updated by: pajoye@php.net
Reported by: craig at logicshock dot co dot uk
Summary: PHP executing text from .php file opened with
fopen().
-Status: Open
+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:
Works just fine here, 5.2/5.3, obviously.
Also adding an echo should help to output the data.
Double check your actual code, there is certainly an error in it.
Previous Comments:
------------------------------------------------------------------------
[2010-10-04 12:40:39] craig at logicshock dot co dot uk
The text:
Calling script (index.php):
ls_execute();
Should read:
Calling script (index.php):
echo ls_execute();
------------------------------------------------------------------------
[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