每24小时添加一个随机数

时间:2013-03-03 13:14:09

标签: php javascript jquery

我需要一个脚本,每24小时自动添加一个随机数(1到5之间)并将其存储在文本文件中,然后在24小时后创建一个新的随机数并将其添加到文本文件中的上一个结果中,我设法做了一些接近但仍然需要刷新按钮才能生效,但我希望它能自动执行,所以如果每个用户每天访问该页面,并且每月一次访问该页面,他们都应该看到相同的号码(将从文本文件中读取)。

到目前为止,这是我的代码:

<?php

$dataFile = "amt.txt";

$date1 = date("H:i:s");
$date2 = date("H:i:s",filemtime("amt.txt"));

$diff = abs(strtotime($date2) - strtotime($date1));


$secs = floor($diff);


if ($diff < 86400) {

    echo "$date1 \n"; 
echo "$date2 \n";
printf($secs);
    exit;
}   

if (!file_exists($dataFile)) {
    $amt = 0;
}
else {
    // Otherwise read the previous value from
    // the file.
    $amt = (int) file_get_contents($dataFile);
}

// Generate the new value...
$Number = rand(1,5);
$total = $amt + $Number;
echo "$". $total ."/-";

// And dump it back into the file.
if (!file_put_contents($dataFile, $total)) {
    // If it fails to write to the fle, you'll 
    // want to know about it...
    echo "Failed to save the new total!";
}



?>

基本上我想要显示假数量的订阅者,这些订阅者在逻辑上应该随着时间的推移而增加。所以我想每天更新这个数字,然后因为我在我的网站上有这个月订阅者的数量,所以当用户访问网站时,任何时候都应该看到与任何其他用户访问该网站相同的数字确切时间。希望现在更清楚了。

1 个答案:

答案 0 :(得分:0)

我首先使用time()代替date(xxx),这样你就可以直接得到diff secodns。但我没有达到这个目的,也不知道你是想附加数字还是覆盖它们,如果数字每24小时变化一次,为什么用户一个月后应该得到相同的数字。

$date1 = time();
$date2 = filemtime("amt.txt");

$diff = $date1 - $date2;

if ($diff < 86400)
{
    echo "$date1 \n"; 
    echo "$date2 \n";

    printf($diff);

    exit;
}