Heim > Backend-Entwicklung > PHP-Tutorial > 帮忙看个源码

帮忙看个源码

WBOY
Freigeben: 2016-06-23 14:14:58
Original
985 Leute haben es durchsucht

<html><head></head><body><?php$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形式输出数据?></body></html>
Nach dem Login kopieren

这个是我从网上找到定时更新页面的源码,我想问下这个实现定时功能就是没有注释那段是什么意思,我不是很理解。


回复讨论(解决方案)

没有看到有定时更新的功能,是php随机取一个数组元素输出。或者你还有其他代码?

mt_srand 播种随机数发生器种子

没有看到有定时更新的功能,是php随机取一个数组元素输出。或者你还有其他代码?
refresh设置数值大点就不会变化,貌似是这个refresh在控制时间。

mt_srand 播种随机数发生器种子
这个和定时更新什么关系?不懂。

你问的是 没有注释那段是什么意思
至于 和定时更新什么关系 那你自己想吧
是你自己说是 定时更新页面的源码 的

因为当随机种子一样是,用到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一个周期定时刷新

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage