在一个文件里追加内容和换行

  由于今天要校验数据的完整性,需要把查询失败的SQL写入文件里,需要追加和换行,要用PHP的几个函数,php.net上说换行要用\r或\n或\r\n(根据操作系统进行选择),我按照php.net说的做但是不行,发现用常量PHP_EOL是可以的。

方法一:

 1                         $sql="SELECT $relation_primary_key,old_value FROM $relation_table WHERE name='{$row->$new_key}' AND state_types='{$old_key['state_type']}'";
 2                         $query = $this->db->query($sql);
 3                         $row_result=$query->row();
 4                         //如果为空就跳过本次循环,把关联失败的数据记录SQL
 5                         if(empty($row_result)){
 6                             $path = 'files/downloads/excels';
 7                             if(!is_dir($path)){
 8                                 mkdir($path,0777,true);
 9                             }
10                             $filename=$path.'/校验新旧字段是否匹配.sql';
11                             //如果$filename不存在会自动创建
12                             file_put_contents($filename, $sql.PHP_EOL, FILE_APPEND | LOCK_EX);
13                             continue;
14                         }

方法二:

 1                         $sql="SELECT $relation_primary_key,old_value FROM $relation_table WHERE name='{$row->$new_key}' AND state_types='{$old_key['state_type']}'";
 2                         $query = $this->db->query($sql);
 3                         $row_result=$query->row();
 4                         //如果为空就跳过本次循环,把关联失败的数据记录SQL
 5                         if(empty($row_result)){
 6                             $path = 'files/downloads/excels';
 7                             if(!is_dir($path)){
 8                                 mkdir($path,0777,true);
 9                             }
10                             $filename=$path.'/校验新旧字段是否匹配.sql';
11                             //如果$filename不存在会自动创建
12                             $fp=fopen($filename,'a');
13                             fwrite($fp, $sql.PHP_EOL);
14                             fclose($fp);
15                             continue;
16                         }

 

posted @ 2016-09-22 11:39  张发财  阅读(3577)  评论(0编辑  收藏  举报