请在Chrome、Firefox等现代浏览器浏览本站。网站域名:森林之家(www.foresthouse.cn)爱学习、爱分享、爱绿软、爱恐怖、爱音乐、爱唠叨、爱折腾、爱生活!

PHP做缓存,读缓存和存缓存示例

心得笔记 forest 40℃ 已收录 0评论

这段代码本来也是网上的,最近在做一个意淫形式的网站效果需要把一个基数以乖以当前的小时(一天24小时嘛一定会越来越高),但是这样难免不会被察觉到,比如基数为10不论每天的1点都是10、每天的12点都是120长此以往也太不把用户当回事了这假的也太明显了吧,就想着在这个基础上我可以去加上一个随机数或者是乖以一个随机数,那么就不会每天的时间点都一样了。

PHP做缓存,读缓存和存缓存示例
下面的代码中主程序是我自己的可以自行修改直接套进去即可,完整代码与注释如下:

<?php
$filename = "./data/test.html";
$cachetime = 5;//缓存秒数会多出来一秒
if(!file_exists($filename) || filemtime($filename)+$cachetime<time()) //filemtime($filename)获取文件修改时间,加上定义的缓存时间小于当前时间
{
//开启内存缓存
ob_start();
?>
<?php
//主程序开始(需要被缓存的数据)
$nowh=date("H");
if ($nowh>=22){echo "开始……";exit;}
elseif($nowh>=24){echo "完成……";exit;}
//echo $nowday;
$jishu=1024;
$nownum=$jishu*$nowh+rand(1,100);
echo $nownum."上次更新".date("H:i:s");;
//结束
?>
<?php
//从内存缓存中获取页面代码
$content = ob_get_contents();
//将获取到的内容存放到缓存文件
file_put_contents($filename,$content);
//清掉内存缓存
ob_flush();
//echo "###############"; //测试是否调用了缓存文件,缓存文件不输出这句话
}
else
{
include($filename); //如果存在,调用缓存文件
}
?>
补充一点关于怎么调用缓存的问题可以把缓存文件改成txt格式的比如“test.txt”,如果要调用的数据多可以分行比如调用test.txt的第一行、第二行等就行了,那么关于分行参考上面的代码可以这么写:
$jishu=10240;
$jishu1=20480;
$jishu2=123456;
$nownum=$jishu*$nowh+rand(1,100);
$nownum1=$jishu1*$nowh+rand(10,1000);
$nownum2=$jishu2*$nowh+rand(10,1000);
echo $nownum."上次更新".date("H:i:s");
echo '
';
echo $nownum1."上次更新".date("H:i:s");
echo '
';
echo $nownum2."上次更新".date("H:i:s");
//结束

在模板中调用可以这么写:

<?php $a=file('../data/test.txt'); echo $a[0]; ?>
<?php $a=file('../data/test.txt'); echo $a[1]; ?>
<?php $a=file('../data/test.txt'); echo $a[2]; ?>

或者这么写

<?php $a=file('../data/num.txt'); echo "<img src='/data/t/img/notic1.png'/>".$a[0]."<img src='/data/t/img/notic2.png'/>".$a[1]."<img src='/data/t/img/notic3.png'/>".$a[2]; ?>

调用的结果如下:


204883上次更新20:11:10
410019上次更新20:11:10
2469543上次更新20:11:10
本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://www.foresthouse.cn/archives/6050.html
喜欢 (2)or分享 (0)
发表我的评论(注:在您评论完以后不会立即显示,请不要重复刷新以免进入黑名单。)
取消评论
表情 代码 贴图 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址