为什么下面的代码显示来自msg.php的php代码?在网站上查看PHP代码?
$flag = file('msg.php');
$content = "";
foreach ($flag as $value) {
$content .= $value;
}
echo $content;
有没有办法阻止它显示PHP代码?
为什么下面的代码显示来自msg.php的php代码?在网站上查看PHP代码?
$flag = file('msg.php');
$content = "";
foreach ($flag as $value) {
$content .= $value;
}
echo $content;
有没有办法阻止它显示PHP代码?
您将其输出为文本echo
并用file
读取它们,两者都不会执行任何PHP。您的示例可以替换为:
require 'msg.php';
并且一切都将正常工作。
删除最后的echo
。 echo
在屏幕上打印内容。
您可能没有<?php ?>
标签包装您的代码。如果你这样做,那么PHP没有安装在你的服务器上。
这里有一些事情要检查:
<?php ?>
标签的代码?如果这两种情况都是这样,您的服务器可能没有设置为正确处理PHP。
msg.php的内容又是什么?如果它包含php代码,那么可能是获取输出的内容,因为您只是阅读它,然后在没有运行解释器的情况下将其回显。
您应该为msg.php中的$flag
指定值并包含该文件。
include 'msg.php'
如果你表示文件msg.php的内容有PHP代码,这,这是什么显示,那是因为你做的仅仅是。把PHP作为文本。
PHP代码被视为文本,因为它尚未被服务器处理。您将不得不通过查找PHP标签的打开和关闭来过滤掉PHP,但是我怀疑您希望代码在需要包含该文件的情况下执行。
你想完成什么? – Cfreak 2012-03-12 21:29:00