我正在使用
从外部文本文件加载HTML / PHP代码$f = fopen($filename, "r");
while ($line = fgets($f, 4096))
{
print $line;
}
有没有办法让服务器解析此文件中的PHP代码?我目前只在外部文件中使用一个简单的<?php echo("test"); ?>
(保存在$filename
中)来测试它是否有效。我尝试在主文件中使用ob_start()
和ob_end_flush()
,但无济于事。我对其他解决方案持开放态度,但如果可能的话,我希望保持文件的分离,并且只使用PHP来简化将来升级到网站的过程。
答案 0 :(得分:4)
看起来你正在寻找:http://php.net/manual/en/function.eval.php
但请注意警告:
eval()语言结构非常危险,因为它允许 执行任意PHP代码。因此不鼓励使用它。如果你 仔细确认除了使用它之外别无选择 构建时,要特别注意不要传递任何用户提供的数据 没有事先正确验证它就进入它。
如果有的话,试着找一个不同的溶液吗?
答案 1 :(得分:0)
您可以使用file_get_contents($link)
来获取文件的输出。
答案 2 :(得分:0)
以下内容将满足您的需求。
如果您在模板类型的场景中使用它,即想要将数据显示到PHP文件并回显结果,请使用ob_start和get_clean来捕获输出并将结果存储在变量中:
ob_start();
eval('?>'.file_get_contents($file).'<?');
$result = ob_get_clean();
echo $result;
否则,简单:
eval('?>'.file_get_contents($file).'<?');
会工作。
注意:应始终谨慎使用eval(),如果可能,请不要考虑安全性和性能问题。