PHP捕获“空”包含

时间:2009-12-05 02:12:54

标签: php include require

我们使用了一个自定义框架,允许我们include编码到其他页面。但是,即使include代码没有输出任何内容,也始终打印此代码的标题。有没有一种方法可以exitreturn某些特定的东西,我可以通过include / require捕获并捕获,以便我能做正确的事情?

2 个答案:

答案 0 :(得分:5)

激活输出缓冲区,包含文件,然后检查其内容:

ob_start();
include "file.php";
$content = ob_get_contents();
ob_end_clean();

在检查生成的内容之后,保留或转储它。

祝福, 费边

答案 1 :(得分:3)

这可能不是最合适的解决方案,但这是一个很好的技巧。您实际上可以使用PHP-includes作为函数并返回值。

例如。创建一个名为myinclude.php的文件:

<?php

$a = 9192*9192;
return a;

然后创建第二个文件并包含第一个文件:

<?php

$res = include("myinclude.php");
echo $res;

是的,它确实有效。有关详细信息,请参阅manual page。另请注意,如果从include文件中没有显式返回任何内容,include()将返回“OK”(奇怪的是)。这适用于require(),include_once()和require_once()。