PHP 检查 require_once() 内容是不是为空

Posted

技术标签:

【中文标题】PHP 检查 require_once() 内容是不是为空【英文标题】:PHP Check If require_once() Content Is EmptyPHP 检查 require_once() 内容是否为空 【发布时间】:2011-07-30 11:10:38 【问题描述】:

我正在编写一个 php 脚本,其中包括通过“require_once()”方法包含几个外部 PHP 脚本。我想知道主脚本(包括其他脚本)是否有办法判断包含的脚本的处理后的输出是否生成了任何内容。

因此,例如,用户对特定脚本的权限可能会导致 PHP 不生成任何输出。因此,也许主脚本会回显如下内容:

                             Nothing interesting here!

有没有办法在主脚本中做到这一点,或者我需要在包含的脚本中创建这些测试,并将结果返回给主脚本?

感谢您的宝贵时间, spryno724

【问题讨论】:

您将首先必须处理脚本,以检查返回是否为空。 【参考方案1】:

您可以像这样使用ob_startob_get_contentsob_end_clean 捕获输出:

ob_start();
require_once('script.php');
$output = ob_get_contents();
ob_end_clean();

【讨论】:

【参考方案2】:
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!';

【讨论】:

【参考方案3】:

如果 require_once 没有执行,请不要担心。尝试使用如下调试函数来确定 require_once 文件的变量/函数是否正常工作:-

var_dump($Your_Variable_Name_from_require_Once_file);

【讨论】:

以上是关于PHP 检查 require_once() 内容是不是为空的主要内容,如果未能解决你的问题,请参考以下文章

require与require_once有啥区别?PHP

php源码分析 require_once 绕过不能重复包含文件的限制

php里的require_once是啥意思

在 php 中使用 utf-8 并加载文件(require_once)会产生奇怪的字符

OSSIM之security.php源码分析

PHP:如何检查用户是不是已经登录,否则重定向到登录页面