php包含数组中的文件

时间:2014-06-07 17:59:11

标签: php arrays include file-get-contents

我正在尝试创建一个数组,该数组应该通过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

1 个答案:

答案 0 :(得分:1)

对包含使用输出缓冲。

ob_start();
include(file);
$content = ob_get_clean();
$array['content'] = array(
    1 => $content
);