更新のたびにフォルダから画像をランダムに生成するPHPファイルがあります。ここからダウンロードしました(説明もあります)。
画像をランダムに選択する代わりに、1時間ごとに画像を変更するにはどうすればよいですか?たとえば、1時間同じ画像を表示し、その時間が経過したら変更したいとします。基本的に、ある時間間隔に基づく新しい画像。
助けてくれてありがとう。
行を検索
$imageNumber = time() % count($fileList);
そしてそれを
$imageNumber = (date(z) * 24 + date(G)) % count($fileList);
それはあなたのために働くはずです。
ランダムオラクル関数が必要だと思います。基本的に、これrandom()
は入力を受け取り、乱数を生成する関数であり、同じ入力を持つすべての呼び出しが同じ出力を提供することが保証されています。
オラクルに渡す値を作成するには、1時間ごとに変更されるものを使用します。私julian_day_number * 24 + hour_number
はその種類の何かを使用hour_number
します(24時間ごとに繰り返されるため、十分ではありません)。
次に、ページが読み込まれるたびに、時間番号を生成し、それをOracleに渡して、現在ランダム値を使用するのと同じように結果を使用します。それでもランダムに表示され、1時間に1回変更されます。
お役に立てば幸いです。
編集: ランダムオラクルは派手である必要はありません-それらは(この回答から別の質問への露骨に盗まれた)のように単純である可能性があります:
int getRand(int val)
{
//Not really random, but no one'll know the difference:
return ((val * 1103515245) + 12345) & 0x7fffffff;
}
シンプルに保つために、8つの異なる写真をfromからtoにimg/
名前を付けて入れ、次に:1.jpg
8.jpg
$imagePath = sprintf("img/%s.jpg", (date('G') %8) +1);
先行ゼロのない1時間の24時間形式。
今、あなたはあなたが毎時異なる写真を持っていると確信しています、そして誰もが同じものを見ます。
編集:モジュロを調整する繰り返し周期を狭めたり広げたりし24
ます。除数がいくつかあります[1、2、3、4、6、8、12]。