首页 > 解决方案 > 如何在 PHP 中使用其编号将一行替换为另一行

问题描述

希望你做得很好,我正在尝试实现一个脚本,以便我可以使用它来替换文件中的另一行,我尝试了很多 PHP 脚本和 Bash 代码,但它们似乎都失败了,这是我最后尝试的:

function replace_a_line() {
    $line=3; //includes zero as 1.
    $newdata='this is a test 123';
    $data=file('./txt.txt');
    $data[$line]=$newdata."\r\n";
    $data=implode($data);
    file_put_contents('./txt.txt',$data);
}

我的文件名是txt.txt

先感谢您

标签: php

解决方案


我想你几乎做到了。无需自己内爆。file_put_contents为你做。添加其他检查以确保行号在行数范围内或将文本附加到末尾。

<?php

function replace_a_line($line = 3,$new_str = 'Your text') {
    $data = file('test.txt');    
    if($line >= count($data)) $data[] = $new_str;
    else  $data[ $line - 1] = $new_str . "\n";
    return file_put_contents('test.txt', $data, LOCK_EX);
}

replace_a_line();

推荐阅读