PHP - 读取另一个PHP文件的内容而不回显

时间:2015-04-19 05:08:12

标签: php

我正在尝试访问PHP文件的内容,而文件实际上并没有输出它通常会做的事情。这是我的测试代码:

File1(test1.php)

<?php
    ob_start();
    include_once './test2.php';
    $test = ob_get_contents();

    echo $test;
?>

这里是file2(test2.php)

<?php
     $testVar = 'Name!';
?>
<div class="testClass"><?php echo $testVar?></div>
<p>Spam2</p>

我希望它只是因为

而这样做

echo $ test

行NOT,因为文件正在输出内容。

<p>Spam2</p><div class="testClass">Name!</div>
<p>Spam2</p></body>

由于回声,但它返回此

<p>Spam2</p><div class="testClass">Name!</div>
<p>Spam2</p></body>
<p>Spam2</p><div class="testClass">Name!</div>
<p>Spam2</p></body>

那么如何让它只返回一次内容呢?

2 个答案:

答案 0 :(得分:0)

如果您有2个文件说:app/index.phpapp/config.php,您可以使用return关键字从config.php文件中返回一些内容。然后,当你包含文件时,你从config.php返回的任何内容都可以保存到变量中。

示例:

首先从config.php文件返回任何你想要的东西(可以是数组,字符串等)。
<?php 
return ['name' => 'Spam'];
然后在index.php中:
<?php
$contents = include_once('config.php');
echo $contents;

答案 1 :(得分:0)

不要echo $test;。 PHP正在按预期执行。由于./test2.php会在HTML中显示垃圾邮件,因此会将页面内容分配给变量echo。你期待什么?