PHP connection_status 杂项函数



  • 定义和用法

    connection_status - 返回连接的状态位
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    connection_status( void )
    
    connection_status() 获得当前连接的状态位。
  • 参数

    参数 必需的 描述
  • 返回值

    获得当前连接的状态位, 可以用于与 CONNECTION_XXX 定义的常量来确定连接状态。
  • 示例

    ignore_user_abort(true);
    header('Transfer-Encoding:chunked');
    ob_flush();
    flush();
    $start = microtime(true);
    $i = 0;
    // 使用此函数可将任何内容回显到浏览器。
    function vPrint($data){
            if(strlen($data))
                    echo dechex(strlen($data)), "\r\n", $data, "\r\n";
            ob_flush();
            flush();
    }
    // 将信息流传输到浏览器后,必须执行此函数。
    function endPacket(){
            echo "0\r\n\r\n";
            ob_flush();
            flush();
    }
    do{
            echo "0";
            ob_flush();
            flush();
            if(connection_status () == CONNECTION_ABORTED ){
                    // 当连接中断这里会被执行(比如浏览器未等脚本执行完毕,就关闭)
                    file_put_contents('./test.tmp', sprintf("Conn Closed\nTime spent with connection open: %01.5f sec\nLoop itterations: %s\n\n", microtime(true) - $start, $i), FILE_APPEND);
                    endPacket();
                    exit;
            }
            usleep(50000);
            vPrint("I get echo'ed every itteration (every .5 second)<br />\n");
    }while($i++ < 200);
    endPacket();
    
  • 相关页面

    connection_aborted() - 检查客户端是否已经断开
    ignore_user_abort() - 设置客户端断开连接时是否中断脚本的执行