PHP:用ID更改txt文件的特定行


PHP: Change specific line of txt File with ID

im花了将近2个小时寻找问题的解决方案。我有一个只有几行的文本文件:

Title1|||Content1
Title2|||Content2
Title3|||Content3

但现在我想更改2个特定行,例如Title2||Content2我会通过url发送id。所以我知道哪一行,但我不想通过标题或内容搜索php应该更改哪一行。

我找到了这个代码:

    $daten = file('../news.txt');        
$fp = fopen('../news.txt', 'w');            
foreach ($daten as $zeile){
    $felder = explode('|||', $zeile);        
    if (!strcmp($felder[0], 'auto3')){    
        $felder[1] = 'xx';                
        $zeile = implode('-', $felder);    
    }
    fwrite($fp, $zeile);               
}
fclose($fp);       

但是如何更改示例

标题2|||标题3

$zeile[1]

我通过edit.php?id=1??

对不起,如果我没有正确理解你的问题,如果我的答案是错误的,不要杀了我。在您的例子中,$daten是一个包含文件"news.txt"行的数组。$_GET['id']将提供编辑数组所需的偏移量。

$daten = file('../news.txt');
$fp = fopen('../news.txt', 'w');
$zeile = explode('|||', $daten[intval($_GET['id'])]);
$zeile[0] = 'ASD';//change Title1
$zeile[1] = 'FGH'."'r'n";//change Content1
$daten[intval($_GET['id'])] = implode('|||', $zeile);
fwrite($fp, implode('', $daten));