这是文本文件的数据(Presidents.txt):
George Washington
John Adams
George Jefferson
James Madison
我想将 George [3rd line]替换为 Thomas ,而不删除或替换文本文件的所有数据。我想从第三行删除或替换 George 。
这是我正在尝试的代码:
$file = fopen("Presidents.txt","r+");
fwrite($file,'Thomas');
但输出:
Thomas Washington
John Adams
George Jefferson
James Madison
但我想要的输出是:
George Washington
John Adams
Thomas Jefferson
James Madison
有什么办法吗?
答案 0 :(得分:1)
这应该适合你:
<?php
$file= "Presidents.txt";
$lines = file($file);
$lines[2] = str_replace("George", "Thomas", $lines[2]);
file_put_contents($file, implode("\n", $lines) );
?>
答案 1 :(得分:1)
你在想这个吗?
$handle = fopen("Presidents.txt", "r");
$file="";
if ($handle) {
while (($line = fgets($handle)) !== false) {
echo $line;
if($line=="George Jefferson\r\n") {
$line="Thomas Jefferson\r\n";
}
$file .= $line;
}
}
fclose($handle);
$handle = fopen("Presidents.txt", "w+");
fwrite($handle,$file);
fclose($handle);