PHP PHP HTMLを段階的に表示する

-


Topページ  >  お勉強  >  PHP  >  HTMLを段階的に表示する 

HTMLを段階的に表示する

通常、PHPを使用してHTMLを表示する時は、PHPの全処理が終了してから一気に表示されます。
それを、段階的に表示する方法です。

重たい処理を実行する時に、現在の処理状況を表示するのに使えそうです。





1. 通常の場合。

10秒カウントする処理を実行したいと考えた場合、以下のようなPHPソースになるかと思います。
しかし、PHPの処理が終了してから表示されるため、10秒間読み込み中になって、その後一気に表示されます。

for ($count=1; $count<=10; $count++) {
    // 1秒待つ
    usleep(1000000);

    // カウントを表示
    print $count . "";
}


2. 段階的に表示する場合。

flush();
ob_flush();
を実行すると、その段階までのHTMLを強制表示します。

これにより、カウントアップしているように見えます。

for ($count=1; $count<=10; $count++) {
    // 1秒待つ
    usleep(1000000);

    // カウントを表示
    print $count . "";

    // HTMLを強制表示する
    flush();
    ob_flush();

}



↓インラインフレーム内でサンプルが動作しています。






Topページ  >  お勉強  >  PHP  >  HTMLを段階的に表示する 






-