php追加记录到文件行首的办法
生活随笔
收集整理的這篇文章主要介紹了
php追加记录到文件行首的办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
同事處理數據時遇到一個問題:客戶要求的文件格式是第一行是統計數據,后面換行后緊跟的是明細記錄。
要保證明細記錄的數量與統計數據一致就必須在寫完明細之后再寫入統計數據,而且數據的量在百萬級,所以不太可能先讀到內存再匯總后一起寫入。
最后找到的解決辦法如下:
$offset = 50; $fp = fopen("fseek.txt", "wb");// 創建文件 flock($fp, LOCK_EX);// 鎖定 fwrite($fp, "\n");// 寫入一空行 fseek($fp, $offset);// 移動文件指針至偏移量處,相當于空出了50個字節的內存空間 // 寫數據,匯總 $write_count = 0; for ($i = 0; $i < 10; $i++) {fwrite($fp, "abc\n");$write_count++; } fseek($fp, 0);// 文件指針再移到文件頭 // 寫入匯總記錄,并用空格填充余下的內存空間 fwrite($fp, str_pad("total count:". $write_count, $offset - 1, " ", STR_PAD_RIGHT)."\n"); flock($fp, LOCK_UN);// 解鎖 fclose($fp);// 關閉文件轉載于:https://blog.51cto.com/ustb80/1285471
總結
以上是生活随笔為你收集整理的php追加记录到文件行首的办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 采用web技术开发PC应用
- 下一篇: oozie安装笔记