国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

file - php關于文件操作-讀取一行處理一行之后把該行刪除
PHP中文網
PHP中文網 2017-06-26 10:49:01
0
3
1036

1.現(xiàn)在有一個300M的文件 需要把里面的數(shù)據(jù)一行一行讀取出來,每行進行處理(無法做成冪等)。但是怕處理過程中系統(tǒng)掛掉,不知道該從哪一行再重新讀取,怕掛之前已經處理的行再次處理一遍
2.現(xiàn)在想到的方案是 讀取一行處理一行之后把該行刪除,即時程序掛掉,再次執(zhí)行從開始讀也不會讀取到原來已經處理的行
3.看一下各位大牛有沒有好的解決方案謝謝

//想讀取一行刪除一行 該如何操作或者有更好的解決方案 避免同一行執(zhí)行兩次

$fp = fopen($fileName, "r");
if (!$fp) {
    return -1;
}
$max = 40960; //40k

while (!feof($fp)) {
    $line = fgets($fp, $max);
    }
PHP中文網
PHP中文網

認證0級講師

全部回復(3)
淡淡煙草味

既然是規(guī)定一行一行讀取的,那么何不寫一個腳本把文件先拆分成多個小文件(注意命名,比如 Linux 中的 split 命令),然后再寫個腳本循環(huán)讀取操作。

伊謝爾倫

我覺得你可以換個方式來實現(xiàn)你要的效果:你可以讀取一行,處理完這行后,在這行后加個特殊的符號。循環(huán)遍歷每行就能知道哪些行是被處理過的。假如你的程序掛掉,再次執(zhí)行的時候,直接搜索那個特殊符號最后一次出現(xiàn)的地方。然后這個地方的下一行就是你該開始執(zhí)行的地方了。

ringa_lee

另外寫個文件, 記錄處理位置. 記行號也行, 整體文件的偏移也行.

邊讀邊改文件, 性能太低吧.

最新下載
更多>
網站特效
網站源碼
網站素材
前端模板