2

我们有一个我们使用的自定义框架,它允许我们include在其他页面中编写代码。但是,即使include代码没有输出任何内容,也始终会打印此代码的标题。有没有一种我可以通过/捕获和捕获的方法exit或特定的方法,以便我可以做正确的事情?returnincluderequire

4

2 回答 2

5

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

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

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

最好的祝愿,法比安

于 2009-12-05T02:16:16.987 回答
3

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

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

<?php

$a = 9192*9192;
return a;

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

<?php

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

Yes, it actually works. See the manual page for more details. Also note that if nothing is explicitly returned from the include file, include() will return "OK" (oddly enough). This works for require(), include_once() and require_once() as well.

于 2009-12-05T02:18:30.227 回答