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

时间:2015-03-06 12:22:49

标签: php include explode

我正在寻找近2个小时来解决我的问题。 我有一个包含几行的文本文件:

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

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

我找到了这段代码:

    $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);       

但如何更改expample

Title2 ||| Title3

$ zeile [1]

我得到的 edit.php?id = 1 ??

1 个答案:

答案 0 :(得分:0)

很抱歉,如果我没有正确理解你的问题,如果我的答案错误,请不要杀了我。在你的情况下,$ 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));