0

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

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

<?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!";
}



?>

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

4

1 回答 1

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;
}
于 2013-03-03T13:31:49.050 回答