我正在尝试访问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>
那么如何让它只返回一次内容呢?
答案 0 :(得分:0)
如果您有2个文件说:app/index.php
和app/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
。你期待什么?