如何在 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 已经为这种需求做好了准备。