PHP无法将包含PHP代码的文件作为文本文件读取

Ale*_*exA 3 php security permissions fopen

我偶然发现了以下的世俗性:

$ handle = fopen(realpath("../ folder/files.php"),"r");

无法读取文件,但只要从文件中删除php标签,它就变得可读,我的脚本在页面上打印非空文件内容.此外,file.php永远不会执行,所以我想知道为什么这是问题.

我猜不知道Apache或PHP不会让包含php标签的文件只读取PHP文本.

如何为我的特定文件启用它(当然在全球范围内执行它会不安全)?

使用PHP 5.2.x和Apache 2.0

Wad*_* M. 11

我知道了.我正在使用Google Chrome来调试页面,我意识到在查看源代码时,Chrome会出于某种原因隐藏PHP标记.我在Firefox上运行了相同的测试,查看源代码证明一切正常.

以下是测试详情:

码:

$fh = fopen("test.php","r");
while ($line = fgets($fh)){
echo $line;
}
Run Code Online (Sandbox Code Playgroud)

要读取的文件(test.php):

testing <?php testing2 ?> testing3
Run Code Online (Sandbox Code Playgroud)

渲染(在Chrome和Firefox上):

testing  testing3
Run Code Online (Sandbox Code Playgroud)

查看源代码(使用firefox):

testing <?php testing2 ?> testing3
Run Code Online (Sandbox Code Playgroud)

查看源代码(使用Chrome - 我的错误来源):

testing  testing3
Run Code Online (Sandbox Code Playgroud)


Rob*_*edy 7

你确定你正确地解释了输出吗?如果将文件内容直接打印到页面输出,浏览器将不会在尖括号内显示文本,因为它认为它是标记.将您的内容作为text/plain,或使用浏览器的"查看源"命令来确保您正在查看真正存在的内容,而不仅仅是浏览器选择显示的内容.