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