PHPが実際にここで何をするのかについて混乱があるようです。誰かがWebサーバーにリクエストを送信すると、PHPスクリプトが呼び出されますが、リクエストを処理した後、それが実行されて終了します。次のリクエストが届くと、最初のリクエストを認識していません。
この関数を使用しsleep(n)
てn秒間スリープすると、Webサーバーの応答が一時停止します。これは非常に悪い考えであり、達成しようとしていることではありません。
一般的に、時間に基づいてコンテンツを切り替えたい場合は、実際には意味のない「サーバーの稼働時間」のようなものよりも、サーバーの時間(常に知られている)から作業する方が適切です。世界。
簡単な例で、8時間のブロックに基づいて3つの異なる広告を配信するとします。時刻を見つけて広告を適切に選択するコードを書くことができます。例えば:
$selection = (date('G',time()) / 8);
switch ($selection) {
case 0:
echo 'ad option 1!';
break;
case 1:
echo 'ad option 2!';
break;
case 2:
echo 'ad option 3!';
break;
}
このdate('G',time())
関数は、現在のシステム時刻の0〜23時間の部分を返します。これを8で割ると、0、1、または2のいずれかになり、そこから表示するものを選択できます。
これがあなたがやろうとしていることを正確に満たすかどうかはわかりません。そうでない場合は、ある種のデータベースを使用し、ある間隔で配信するように広告を更新するある種のジョブを実行する必要があります(可能な場合はこれを避けます)。