1、配置php:
ini_set("memory_limit","-1"); //解除内存限制
ini_set("maxdb_execution_time","26100"); //设置响应超时时间
2、写日志文件
$today = date("Y-m-d H:i:s");
$fplog = fopen("log.txt","a+"); //“a”为追加写入
if($fplog){
$logtxt = "DATE:".$today." \n";
fwrite($fplog,$logtxt);
}else{
exit('Open faild!');
}
3、检索出需要备份的数据后,写入txt。(格式:每条数据各占一行,字段间以TAB隔开)
</pre><pre name="code" class="php">
$time = date("Y-m-d H:i:s",strtotime("-30 day")); //备份30天以前的数据
//...sql查询数据...
$logtxt = "此次将要备份".$time."的".$count."条数据。";
fwrite($fplog,$logtxt);
//为减少意外情况程序崩溃导致的数据丢失,一条追加一次
$logtxt = "此次将要备份".$time."的".$count."条数据。";
fwrite($fplog,$logtxt);
//创建备份文件
$fp = fopen("~/".$time.".txt","a+");
if($fp){
$logtxt = "此次将要备份".$time."的".$count."条数据。";
fwrite($fplog,$logtxt);
$txt="";
for($j=0; $j<$nrow_one;$j++){
//...将一行数据存到$res数组中
for($k=0;$k<count($res);$k++){
if($k==count($res)-1){
$txt.=$res[$k]."\n";
}else{
$txt.=$res[$k]."\t";
}
}
fwrite($fp,$txt);
}
}