代码之家  ›  专栏  ›  技术社区  ›  Alan Plum

检查内容是否已在PHP中发送

  •  3
  • Alan Plum  · 技术社区  · 15 年前

    是否有一个智能的方法来检查输出是否已经发送到浏览器,并且发送一个头部会生成一个php_警告?

    显然,有使用输出缓冲区的替代方法,但这并不总是一个选项。

    4 回复  |  直到 15 年前
        1
  •  6
  •   Peter Smit    15 年前

    您可以使用headers_sent()方法。这是因为在输出任何内容之前,都会先发送头文件。

        2
  •  2
  •   sshow Darron Smith    15 年前
    if (headers_sent())
    {
        trigger_error("Here you got your warning", E_WARNING);
    }
    
        3
  •  1
  •   soulmerge    15 年前
        4
  •  -1
  •   strager    15 年前

    如果你只想隐藏警告,就关掉它。 error reporting :

    $old_er = error_reporting(0);
    
    header(...)
    
    error_reporting($old_er);
    

    或者,您可以将PHP错误和警告重定向到日志文件(在生产环境中,IMO更可取)。