処理の実行中に「しばらくお待ちください」と表示するには

処理の実行中、送信ボタンのクリック後に長時間応答がない状態になる場合もあります。その間に「しばらくお待ちください」のメッセージを表示するには、出力バッファを無効にする方法があります。

output_bufferingを0に設定して出力バッファを無効にすることで、数秒ごとに進捗を示す矢印などを逐次表示していくことができます。

次の例では、単純に2秒(×5回)待っているだけですが、実際には何らかの処理が完了した時点でループを終了するようにコードを組み立てれば良いでしょう。

<?php
ini_set("output_buffering", 0);
echo "しばらくお待ちください";
for ($i = 0; $i < 5; $i++) {
    echo "→";
    sleep(2);
}
echo "処理完了";
?>

○実行結果(実行の数秒後)

しばらくお待ちください→→

○実行結果(処理完了後)

しばらくお待ちください→→→→→処理完了

シェアする

  • このエントリーをはてなブックマークに追加

フォローする