zoukankan      html  css  js  c++  java
  • php每秒输出一次

    首先说到php.ini中的两个配置

    output_buffering配置
    •Off: 表示关闭PHP输出缓存
    •On: 打开无限大的输出缓存
    •4096: 打开大小为4096Byte的输出缓存(默认)

    implicit_flush配置
    •On: 表示每次输出(如echo,print)后自动调用flush()函数后,直接输出
    •Off: 与On相反,每次输出后不会调用flush(),需要等到server buffering满了才会输出,但是我们可以用flush()函数代替它,不开启也没关系,反而更加灵活

    在默认的output_buffering=4096和implicit_flush=off的情况下

    已知chrome与firefox浏览器的输出缓存为1000Bytes 即只有超过1000Bytes的内容才会被输出

    来看这一段程序

    <?php
    for ($i = 9; $i > 0; $i--) {
        print str_repeat(' ', 122);
        echo $i . '<br />';
        ob_flush();
        flush();
        sleep(1);
    }
    ob_end_flush();
    str_repeat(' ', 122)即将空格重复122次
    为什么是122呢?
    我们知道一个字节占8位 1000Bytes需要125个字符 想输出出来就要126个字符
    一个32位数字占4个字符
    126-4=122

    本文来自博客园,作者:Bin_x,转载请注明原文链接:https://www.cnblogs.com/Bin-x/p/4565566.html

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    codevs 1501 二叉树最大宽度和高度x
  • 原文地址:https://www.cnblogs.com/Bin-x/p/4565566.html
Copyright © 2011-2022 走看看