帮忙看个源码

php中文网
发布: 2016-06-23 14:14:58
原创
1107人浏览过

<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>
登录后复制

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


回复讨论(解决方案)

没有看到有定时更新的功能,是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一个周期定时刷新

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号