|
最近开发中遇到一个问题,我有一个控制器函数
public function a(){
$num=mt_rand(0,100);
file_put_contents('./userfiles/word.dat', $num,LOCK_EX);//写入word.dat文件
$data['num']=$num;
$this->load->view('tpl',$data);
}
另外一个控制器函数
public function b(){
$num = file_get_contents('./userfiles/word.dat');//读取
//接下来将$num保存到word中 具体代码不展示
}
我的想法是让word.dat作为缓存;在a函数中生成随机数$num,把这个随机数保存到word.dat中,并且展示到 tpl模板里,
然后在tpl模板里有一个 保存到word的按钮 ,通过点击按钮连接到b函数,读取word.dat,把内容保存到word;
可是我发现每次 tpl模板中展示的num和word里保存的num数值都不同,通过调试,我发现每次运行a函数,a函数都运行两次!
然后我试着运行其他的控制器函数都是这个情况.请问这是怎么回事,这个问题怎么解决.我用的是ci3 |
|