1

各整数の間に10秒間隔で1から10までのカウントを出力したいだけです。

例えば。

$i=10; //Time delay    
for($j=1;$j<11;$j++)  
{  
    echo $j;  
    //do something to delay the execution by $i seconds  
}

including flush()私はすべてを試しましたがob_flush()ob_implicit_flush()すべての時間が実行されるまで画面がフリーズするだけです。

4

5 に答える 5

8

http://php.net/manual/en/function.sleep.php

sleep 関数は、スクリプトの実行を中断します。

しかし、このような目的で Javascript を使用することを考えたことはありますか? スクリプトが最大実行時間に達する可能性があり、サーバー上のリソースを占有します。代わりにクライアントのリソースを使用してください。

于 2012-05-22T10:03:37.393 に答える
4

あなたが望むのは、PHP よりもはるかに JavaScript に関連したものです。PHP はサーバーサイドであるため、この種の操作を行うようには設計されていません。動作させることはできますが、あまりきれいではありません。

私の論理では; 1 から 10 までのカウントには、サーバーはまったく関与しません。これはブラウザで直接実行できるため、javascript を使用します。

于 2012-05-22T10:02:47.290 に答える
1

PHPスクリプトの実行中にカウントダウンを印刷したいですか? はいの場合は、推奨されていないフラグメントを試してください。

ob_start();
for($i=0;$i<10;$i++) {
   echo str_repeat(" ",10000);
   echo 'printing...<br />';
   ob_flush();
   flush();
   sleep(1);
}

ほら、奇妙な行:

echo str_repeat(" ",10000);

ブラウザは、実際にデータをフラッシュすることを決定する前に、何らかの「データ」が必要なようです。リアルタイム カウンターには JavaScript を使用します。

于 2012-05-22T10:34:50.123 に答える
1

jQuery を使用します。10$(document).ready秒の遅延を追加して、10 秒後に表示される情報を含む特定の div を表示します。

準備完了 - http://api.jquery.com/ready/

遅延の場合 - http://api.jquery.com/delay/

于 2012-05-22T11:14:57.857 に答える
0

はい、Javascript を使用してください。出力バッファリングのために HTTP を使用して PHP でこのタスクを実行することはできません。

于 2012-05-22T10:06:32.867 に答える