本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
php修改文件某一行數(shù)據(jù)的方法
-
以讀寫的方式打開指定文件
-
使用while()循環(huán)+fgets() 函數(shù)來控制行數(shù)
fgets() 函數(shù)可以逐行讀取文件,一次讀取一行數(shù)據(jù)
-
當(dāng)指定行數(shù)時,使用fseek()和fwrite()函數(shù)來修改這一行的數(shù)據(jù)。
實現(xiàn)代碼:
<?php $file = "test.txt"; $fp = fopen($file, 'r+'); if ($fp) { $i = 1; while (!feof($fp)) { //修改第二行數(shù)據(jù) if ($i == 2) { fseek($fp, 0, SEEK_CUR); fwrite($fp, 'HELLO'); break; } fgets($fp); $i++; } fclose($fp); } ?>
test.txt文件原本的內(nèi)容:
修改后的內(nèi)容:
說明:
feof() 函數(shù)檢查是否已到達文件末尾(EOF)。如果出錯或者文件指針到了文件末尾(EOF)則返回 TRUE,否則返回 FALSE。
fseek() 函數(shù)在打開的文件中定位。該函數(shù)把文件指針從當(dāng)前位置向前或向后移動到新的位置,新位置從文件頭開始以字節(jié)數(shù)度量。如果成功該函數(shù)返回 0,如果失敗則返回 -1。請注意,移動到文件末尾(EOF)之后的位置不會產(chǎn)生錯誤。
fwrite() 函數(shù)可以將一個字符串寫入到文件中。
推薦學(xué)習(xí):《PHP視頻教程》