PHP将返回%1作为输出包含在其他输出中

时间:2014-06-11 作者:user57867

我有这个密码

$return = include(TEMPLATEPATH . \'/apex.php\' );

$html .= $return;
我使用上面的代码从theme dir的插件中获取了一个php for。但它返回1和其他想要的输出。如何解决此问题

我看到了关于stackoverflow的另一个问题,但这些问题都不起作用

提前感谢

2 个回复
最合适的回答,由SO网友:engelen 整理而成

首先,这不是特定于WordPress的,因此不属于WordPress。StackExchange。然而,因为回答起来很容易。。。

include 不是函数,但它确实返回您在包含的文件中“return”中输入的任何内容。您可以使用output buffer 要“捕获”所有输出:

ob_start();
include TEMPLATEPATH . \'/apex.php\';
$html .= ob_get_clean();

SO网友:fuxia

您可以这样做,但包含的文件必须return a值。如果要将值与字符串组合,则应为标量(整数、浮点、字符串或布尔值)。

比如说,apex.php 如下所示:

<?php

return \'Hello!\';
现在您可以分配include 到变量:

$return = include( TEMPLATEPATH . \'/apex.php\' );
这适用于include_once, require, 和require_once

但是如果文件没有返回值,则必须使用output buffering.

结束