热搜:NVER node 开发 php

PHP怎么固定随机出号几分钟时间再变?

2024-08-12 23:15:02
PHP怎么固定随机出号几分钟时间再变?

/* 生成随机数 */function randKeys($len=5){	$str='0123456789';	$rand='';	for($x=0;$x<$len;$x++){		$rand.=($rand!=''?',':'').substr($str,rand(0,strlen($str)-1),1);	}	return $rand;}

上面代码是用来网页显示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的路径');  // 这样就获取了数据, 并做判断,  就是麻烦了, //你可以把这个功能集成到一个函数中去,以后用着方便



看不太懂,能说下具体的吗?下面是全部代码
<?php$lastNo=$this->getGameLastNo(14); header('Content-type: application/xml');echo'<?xml version="1.0" encoding="utf-8"?>';echo '';/* 生成随机数 */function randKeys($len=5){	$str='0123456789';	$rand='';	for($x=0;$x<$len;$x++){		$rand.=($rand!=''?',':'').substr($str,rand(0,strlen($str)-1),1);	}	return $rand;}?>

session加IP

将固定的随机数放到数组中也是可以的,至于时间的设定,可以用js的定时器完成,定时请求一个ajax的方法,这个方法去php页面数组中拿数字