<?php
header("content-type:text/html; charset=utf-8");
function random($length, $chars = '0123456789') {
$hash = '';
$max = strlen($chars) - 1;
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
$length=isset($_GET['length'])?$_GET['length']:'10';
echo "".random($length, '123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ')."";
上面是一串字母大小写数字组合的10位随机数
目前是每刷新一次自动随机变化一次
改写方向:需要能写入txt文件,将每刷新一次随机出现一串字符改为每30秒将一串字符并将字符写进txt,同时读取txt显示该字符
生成cookie保存到客户端,有效期30分钟,不可能针对主机的,获取不到mac之类的内容,换个浏览器你就没办法了
除非你针对ip,但是同一个ip下可能有多个主机
用缓存不久可以吗。memcache ,redis都可以,每次访问文件都先读缓存里面的值,缓存有值就返回,没有值就就用你的函数生成一个值,并存入缓存,并设置缓存过期时间未30秒
写个工具类,将随机数修饰为static,再来个时间
获取随机字符串的时候先看有没有值,没有的话记录当前时间
在获取时候看字符串有没有值并且看时间有没有超过30秒,没超过时间返回以前的数据,超过的话创建一个返回当前时间刷新,
linux定时任务 每30S请求一次