【发布时间】:2012-11-05 23:12:00
【问题描述】:
如何在yii框架中清除缓存并在给定时间内自动重新加载页面? 比如在接下来的 5 小时内,页面的内容应该在清除缓存之前更改,然后重新加载页面
$time = date('h:i:s A', strtotime("+5 hours"));
然后在接下来的 5 小时内,它会再次清除缓存并重新加载同一页面并显示新内容
【问题讨论】:
-
你是说yii的缓存吗?你的意思是什么缓存?
如何在yii框架中清除缓存并在给定时间内自动重新加载页面? 比如在接下来的 5 小时内,页面的内容应该在清除缓存之前更改,然后重新加载页面
$time = date('h:i:s A', strtotime("+5 hours"));
然后在接下来的 5 小时内,它会再次清除缓存并重新加载同一页面并显示新内容
【问题讨论】:
如果我能很好地理解这个问题。
在你的 Yii 视图中,在 javascript 中添加类似这样的内容
<script>
setTimeout(function(){ window.location = "<URL>";}, 5*60*1000);
</script>
这是 5 分钟后的重定向。如果你想要 5 小时,只需使用
300*60*1000
并将 URL 指向您想要的 www.example.com/controller/action。
如果您仍然想在 php 中执行此操作,我相信您可以将此行添加到您的视图中。
<?php header("Refresh: 18000; URL=http://www.example.com/controller/action"); ?>
这里 18000 以秒为单位。
希望对你有帮助。
但如果您只是更新视图的一小部分......为什么不创建一个计时器来向您想要更新数据的控制器/动作发出 ajax 请求? Yii 已经为这种需求做好了准备。
【讨论】: