我正在尝试创建一个数组,该数组应该通过ajax调用返回一些html以及其他一些数据。问题是我需要包含一个首先必须构建HTML页面的php文件,当我使用像file_get_contents()
这样的命令时bue:
$array['nav'] = array(
1 => false
);
$array['content'] = array(
1 => file_get_contents('filename.php')
);
$array['stylesheets'] = array(
1 => 'admin'
);
它只返回我在数组中的所有PHP代码..我也尝试使用include()
,但它会自动显示所有HTML,然后我才能回显一个json编码的数组,赢得了#39 ;使用我的AJAX调用。知道如何解决这个问题吗?
实施例
file_a.php
$array['nav'] = array(
1 => false
);
$array['content'] = array(
1 => file_get_contents('file_b.php')
);
$array['stylesheets'] = array(
1 => 'admin'
);
file_b.php
<div class="something">
<?php
foreach($data as $key => $value) {
echo 'This is a ' . $value . '\n';
}
?>
</div>
此代码会使$array['content'][1]
具有值<div class="something"> <?phpforeach($data as $key => $value) { echo 'This is a ' . $value . '\n'; } ?> </div>
而不是实际的HTML
答案 0 :(得分:1)
对包含使用输出缓冲。
ob_start();
include(file);
$content = ob_get_clean();
$array['content'] = array(
1 => $content
);