我正在开发一个PHP脚本,它通过“require_once()”方法包含了几个外部PHP脚本。我想知道主脚本(包括其他脚本)是否有办法判断包含脚本中的已处理输出是否已生成任何内容。
因此,例如,用户对特定脚本的权限可能会导致PHP无法生成任何输出。所以,也许,主脚本会回应如下:
Nothing interesting here!
有没有办法在主脚本中执行此操作,还是需要在包含的脚本中创建这些测试,并将结果返回到主脚本?
感谢您的时间,
spryno724
答案 0 :(得分:8)
您可以使用ob_start
,ob_get_contents
和ob_end_clean
来捕获输出,如下所示:
ob_start();
require_once('script.php');
$output = ob_get_contents();
ob_end_clean();
答案 1 :(得分:3)
ob_start();
require_once 'your_file.php';
$output = ob_get_flush(); // ob_get_clean() if you want to suppress the output
if(empty($output)) {
echo 'Nothing interesting here!';
}
答案 2 :(得分:0)
如果没有执行require_once,请不要担心。尝试通过使用如下调试函数来确定require_once文件的变量/函数是否正常工作: -
var_dump($Your_Variable_Name_from_require_Once_file);