如何从下面的示例中获得预期的输出?
注意:我正在使用$content = file_get_contents('content.php');
在可能的地方和时间使用内容,因此它不是屏幕上的直接输出。 include()
打破了网页。
content.php
<p>Hello <?php echo 'World!'; ?></p>
reader.php
<b>Message from another file:</b> <?php echo file_get_contents('content.php'); ?>
上面的代码输出是:
Message from another file: Hello <?php echo 'World!'; ?>
而不是(预期):
Message from another file: Hello World!
答案 0 :(得分:2)
我认为您正在寻找<?php include('content.php');
file_get_contents - 将整个文件读入字符串
PHP.net file_get_contents - manual
include语句包含并评估指定的文件。
尝试将content.php转换为具有返回所需内容的函数的文件(您可能希望拥有参数)。只需要文件然后调用该函数并保存输出。
示例:
<强> content.php 强>
function get_content($world){
return '<p>Hello ' . $world . '</p>';
}
<强> reader.php 强>
<?php
require('content.php');
$content = get_content('world');
?>
<b>Message from another file:</b> <?php echo $content; ?>
答案 1 :(得分:1)
由于您无法使用include
(虽然我不完全理解为什么),但希望将文件解析并作为PHP代码执行,您可以使用eval
<b>Message from another file:</b> <?php eval(file_get_contents('content.php')); ?>
但文件content.php不应包含<?php
和?>
标记,如http://php.net/eval所述。