PHP ob_flush问题

时间:2010-12-23 03:59:34

标签: php

是否需要ob_flush,它究竟做了什么?我问,因为我有我的页脚底部,由于某种原因它不会让我正确销毁会话变量。

if(isset($_GET['a']) && is_numeric($_GET['a'])) {
    if(isset($_SESSION['page']) && $_SESSION['page'] !== $_GET['a']){
        unset($_SESSION['page']);
    }

    $page = mysqli_real_escape_string($mysqli, htmlentities(strip_tags($_GET['a'])));
    $_SESSION['page'] = $page;
}

2 个答案:

答案 0 :(得分:0)

如果您使用了ob_start,那么ob_flush将输出自调用ob_start以来通常打印出来的所有内容。发布一些代码以获得更详细的帮助。

答案 1 :(得分:0)

ob_start()将打开输出缓冲。当输出缓冲处于活动状态时,不会从脚本(标头除外)发送输出,而是将输出存储在内部缓冲区中。 ob_flush()将输出存储在内部缓冲区中的所有内容。

必须在代码的开头使用Ob_Start(),最后使用ob_flush()。

可能会被使用,因为用户可能正在尝试重定向到另一个页面并在其上显示一些消息。

它可能不允许您销毁会话,因为它可能存储在内部缓冲区中。