• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zufallszahl in zufälligen Zeitabständen

Kalibo

Neues Mitglied
Hallo zusammen,

Ich möchte gerne eine Zufallszahl (zwischen 1 und 9) erzeugen die sich aber in zufälligen Zeitabständen fortlaufend ändert. Die Zahl soll sich also innerhalb eines vorgegebenen Zeitfensters z.B. 60 Minuten, ändern. Also nach z.B. 12 Minuten dann nach z.B. 56 Minuten usw...

Ich nehme an, für die Zufallszahl brauch ich einfach diesen Code:

<?php
echo rand(1,9);
?>

Nur wie krieg ich das mit den zufälligen Zeitabständen hin?

Jemand ne Idee?

Wenn es dafür keine Lösung gibt, wäre ich auch mit regelmässigen Zeitabständen zufrieden. Also z.B. Änderung der Zahlen alle 10 Minuten. Kann mir hierbei jemand einen Tipp geben?
 
Zuletzt bearbeitet:
Werbung:
Zum Beispiel so. PHP muss in den Ordner schreiben können.

Edit: Zahl aktualisiert sich potentiell erst dann, wenn die Seite wieder neu aufgerufen wird. Das heißt, wenn der Counter abgelaufen ist, aber dann 30 Minuten lang die Seite nicht neu aufgerufen wird, passiert in den 30 Minuten gar nichts.

PHP:
<?php

function regenerate($file)
{
    // Angabe für time_to_live in Sekunden
    $data = array('number'       => mt_rand(1, 9),
                  'time_to_live' => mt_rand(5, 10));
    file_put_contents($file, serialize($data));

    return $data;
}

// Datei, in der die aktuelle Zahl und ihre "Lebenszeit" zwischengespeichert
// werden
$file = './save.txt';

if (!file_exists($file)) {
    $data = regenerate($file);
} else {
    $data = unserialize(file_get_contents($file));
}

// Wie lange bis zum nächsten Update?
$updateIn = filemtime($file) + $data['time_to_live'] - time();

if ($updateIn <= 0) {
    $data = regenerate($file);
    $updateIn = $data['time_to_live'];
}

?>

<h1><?php echo $data['number']; ?></h1>
<p>Update in: <?php echo $updateIn; ?> seconds<p>
 
Zuletzt bearbeitet:
Zurück
Oben