帮忙瞧个源码
时间:2021-07-01 10:21:17
帮助过:5人阅读
帮忙看个源码
$filename = 'english.dat'; //数据文件名
$refresh = 1; //更新周期(以秒为单位,可根据需要自行调整)
$data = file($filename); //将数据文件装入一个数组
$num_lines = count($data); //数据文件行数,也就是记录条数
mt_srand(floor(time() / $refresh));
$id = mt_rand(0, $num_lines - 1); //随机选择一条记录号
$content = chop($data[$id]); //根据记录号选择相应的数据,并截去最后的换行符
echo $content; //用javascript形式
输出数据
?>
这个是我从网上找到定时更新页面的源码,我想问下这个实现定时功能就是没有注释那段是什么意思,我不是很理解。
分享到:
------解决方案--------------------因为当随机种子一样是,用到mt_rand()出来次序是一定的,也就是说随机种子一样,假设第一次执行第一次调用mt_rand等于5,每次执行第一次调用mt_rand都是等于5
而因为time()是时间戳,也就是秒数,如果你设置refresh为30, 那么假设某次time()是300,那么从这里开始的30秒一定是300,301,302,303,……329
用 300,301,302,303,……329 分别 除以 30,商的整数部分是一致的,所以
$id = mt_rand(0, $num_lines - 1);
这个id在这个30秒都是不发生变化的,那么下个30秒内肯定就会发生变化,这样就起到了30一个周期定时刷新