我有一个文件编写代码..数据在控制器中正确得到。 但代码正在for循环中工作.. 迭代没问题。 显示控制器中的所有数据 创建一个文件log_date.txt但只写最后一个数据是我的问题..
$file_path='./application/assets/login/log_'.date'.txt',$data);
if(file_exists($file_path))
{
write_file(APPPATH'/assets/login/log_'.$todate.'.txt', $data);
}
else
{
write_file(APPATH'./assets/login/log_'.$todate.'.txt', $data);
}
答案 0 :(得分:1)
我想如果文件存在,那么你想要将数据附加到它。否则你想创建一个文件并添加数据吗?如果您担心这一点,则可以使用write_file
函数中的可选第3个参数更改文件写入模式。默认情况下,它是
wb
覆盖文件的地方。但是,使用a
方法,您可以在文件中添加新行而不会覆盖它。
$file_path = APPPATH . "/assets/login/log_.$todate.txt";
if(file_exists($file_path))
{
write_file($file_path, $data, 'a');
}
else
{
write_file($file_path, $data);
}
更好的是,您可以在没有控制语句的情况下执行您想要的操作,因为a
模式首先检查文件是否存在,然后创建它,否则它只是附加数据。所以只有下面的部分就足够了,没有控制声明。
$file_path = APPPATH . "/assets/login/log_.$todate.txt";
write_file($file_path, $data, 'a');
修改:
要在循环中运行新行时添加新行,请在$data
添加新行:
$file_path = APPPATH . "/assets/login/log_.$todate.txt";
write_file($file_path, $data . "\r\n", 'a');