Discuz!安装时这个安装进度是如何实现的?

WBOY
Freigeben: 2016-06-06 20:28:17
Original
1669 Leute haben es durchsucht

如图Discuz!安装时这个安装进度是如何实现的?

回复内容:

如图Discuz!安装时这个安装进度是如何实现的?

<code><?php // php -S 127.0.0.1:8080 -t /www
// http://127.0.0.1:8080/BubbleSort.php
header('Content-Type: text/html; charset=utf-8');
ob_start();
$array = array(0,1,2,3,4,5,6,7,8,9);
$size = count($array);
for ($i=0;$i<$size;$i++) {
    print_r($array);
    for ($j=0;$j<$size-1-$i;$j++) {
        if ($array[$j] < $array[$j+1]) {
            $temp = $array[$j];
            $array[$j] = $array[$j+1];
            $array[$j+1] = $temp;
        }
    }
    echo '<br />'.str_repeat(' ', 1024*4);
    ob_flush();
    flush();
    sleep(1);
}
echo 'Done.';
ob_end_flush();</code>
Nach dem Login kopieren

每隔1秒显示1行:

<code>Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 0 )
Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 [5] => 7 [6] => 8 [7] => 9 [8] => 1 [9] => 0 )
Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 [5] => 8 [6] => 9 [7] => 2 [8] => 1 [9] => 0 )
Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 7 [4] => 8 [5] => 9 [6] => 3 [7] => 2 [8] => 1 [9] => 0 )
Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 4 [6] => 3 [7] => 2 [8] => 1 [9] => 0 )
Array ( [0] => 6 [1] => 7 [2] => 8 [3] => 9 [4] => 5 [5] => 4 [6] => 3 [7] => 2 [8] => 1 [9] => 0 )
Array ( [0] => 7 [1] => 8 [2] => 9 [3] => 6 [4] => 5 [5] => 4 [6] => 3 [7] => 2 [8] => 1 [9] => 0 )
Array ( [0] => 8 [1] => 9 [2] => 7 [3] => 6 [4] => 5 [5] => 4 [6] => 3 [7] => 2 [8] => 1 [9] => 0 )
Array ( [0] => 9 [1] => 8 [2] => 7 [3] => 6 [4] => 5 [5] => 4 [6] => 3 [7] => 2 [8] => 1 [9] => 0 )
Done.</code>
Nach dem Login kopieren

打开输出控制缓冲,不断的ob_flush();flush();,就可以在一个PHP请求内不断地输出内容,这个请求你可以通过AJAX发起.

使用chrome浏览器,按F12看数据包。
实现的方法有很多种,可以用ajax、也可以用websocket。具体可以看discuz的代码。

ajax。。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage