PHP怎么固定随机出号几分钟时间再变?
程序员文章站
2024-01-21 12:05:34
...
/* 生成随机数 */function randKeys($len=5){ $str='0123456789'; $rand=''; for($x=0;$x
上面代码是用来网页显示5个数字,只要网页一刷新数字就变了,能不能固定8分钟内刷新网页数字不变?请问代码怎么写?
回复讨论(解决方案)
生成后存入session,并加上生成时间,刷新时,获取session判断当前时间和生成时间的时间差是否大于8分钟
生成后存入session,并加上生成时间,刷新时,获取session判断当前时间和生成时间的时间差是否大于8分钟
写入cookie应该也是可以的吧生产session 至是在1个浏览器中一样, 换个浏览器就不行了,
你可以用 文件缓存来完成,
设置文件有效期, 设置数值var_export($arr,true) ; // 数组转换字符串
保存到一个文件中// temp.php return array( 'value'=>'6位数', 'time'=>time());//引用这个文件,并判断是否过期, 过期更新, 没过期就继续用$arr= include(' temp.php的路径'); // 这样就获取了数据, 并做判断, 就是麻烦了, //你可以把这个功能集成到一个函数中去,以后用着方便如果考虑到更换浏览器的话,要么就是持久化存储,要么就存memcache吧
加上生成时间判断时间差大于8分钟更新就好了时间戳做随机种子,可以通过算法保证在X分钟内的种子是一致的。
至于不同用户不同,再加上sessionid就不怕出问题了
生产session 至是在1个浏览器中一样, 换个浏览器就不行了,
你可以用 文件缓存来完成,
设置文件有效期, 设置数值var_export($arr,true) ; // 数组转换字符串
保存到一个文件中// temp.php return array( 'value'=>'6位数', 'time'=>time());//引用这个文件,并判断是否过期, 过期更新, 没过期就继续用$arr= include(' temp.php的路径'); // 这样就获取了数据, 并做判断, 就是麻烦了, //你可以把这个功能集成到一个函数中去,以后用着方便
看不太懂,能说下具体的吗?下面是全部代码getGameLastNo(14); header('Content-type: application/xml');echo'';echo '';/* 生成随机数 */function randKeys($len=5){ $str='0123456789'; $rand=''; for($x=0;$x session加IP
将固定的随机数放到数组中也是可以的,至于时间的设定,可以用js的定时器完成,定时请求一个ajax的方法,这个方法去php页面数组中拿数字