Heim  >  Artikel  >  Backend-Entwicklung  >  PHP怎么固定随机出号几分钟时间再变?

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

WBOY
WBOYOriginal
2016-06-23 13:41:051011Durchsuche

/* 生成随机数 */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的路径');  // 这样就获取了数据, 并做判断,  就是麻烦了, //你可以把这个功能集成到一个函数中去,以后用着方便



看不太懂,能说下具体的吗?下面是全部代码
getGameLastNo(14); header('Content-type: application/xml');echo'';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页面数组中拿数字

Stellungnahme:
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