Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php替换txt文件中的行_Php_Replace_Line - Fatal编程技术网

Php替换txt文件中的行

Php替换txt文件中的行,php,replace,line,Php,Replace,Line,我只更改第3行,而不更改其他行,错误在哪里 我已输入mytext.txt: 第1行------------------------------------- 第2行#字: 第三行换这个 第4行 第五行你好 6号线皮波 第7行富 第8行凯蒂欧文 午餐后脚本这是输出mytext.txt: 第1行------------------ 第2行 第3行#单词: 第4行 第五行换这个 第6行 第7行$_POST['title'] 第八行你好 第9行 第10行皮波 第11行 第12行富 第13行 第14

我只更改第3行,而不更改其他行,错误在哪里

我已输入mytext.txt:

  • 第1行-------------------------------------
  • 第2行#字:
  • 第三行换这个
  • 第4行
  • 第五行你好
  • 6号线皮波
  • 第7行富
  • 第8行凯蒂欧文
午餐后脚本这是输出mytext.txt:

  • 第1行------------------
  • 第2行
  • 第3行#单词:
  • 第4行
  • 第五行换这个
  • 第6行
  • 第7行$_POST['title']
  • 第八行你好
  • 第9行
  • 第10行皮波
  • 第11行
  • 第12行富
  • 第13行
  • 第14行凯蒂欧文

您可以在
文件()中使用
文件\u忽略\u新行
常量,也可以不使用更多新行:

<?php
$myFile = "/home/user1/www/cgi-bin/mytext.txt";
$lines = file($myFile);
$lines[3] = $_POST['title'];
file_put_contents($myFile , implode("\n", $lines));
?>
或者仅仅是这样,因为它将为您内爆:

file_put_contents($myFile , implode('', $lines));
但您需要在此处添加新行:

file_put_contents($myFile , $lines);
所以这可能是最直截了当的:

$lines[3] = $_POST['title'] . "\n";

您可以毫无问题地使用str_replace函数

看这个

$lines = file($myFile, FILE_IGNORE_NEW_LINES);
$lines[3] = $_POST['title'];
file_put_contents($myFile , implode("\n", $lines));

然后将函数结果保存到文件中

我需要用表单html中的值$\u POST['title']替换第3行
 str_replace('line3 CHANGETHIS', 'line3 #WORD:', $file_content)