PHP如何在txt文件中编辑和删除行

时间:2015-08-04 16:22:12

标签: php file edit

我有一个CFG文件,所以我需要编辑和删除行...我使用此代码但它不会替换行。

var my_template = '<input type="text" ng-model="myobj.text"' + 
    'class="contenteditable col-xs-12 col-md-6 col-md-offset-3">{{myobj.text}}</input>' +
    '<div class="debug clearfix"><br>{{myobj.text}}</div>';

我在那个txt文件中有100行,我用ajax发送它:

F:lolipop shugar#{startdate = 2015-08-04 | enddate = 2016-08-04 | info =信息|经销商=当前经销商}

所以在写回txt cfg文件后,需要写入99行没有行开始F:lolipop ...这条行是deletet(然后我可以实现编辑行...想法是删除行与F:知道用户名,然后用新数据插入新的<)>

我试过这个...文件被正确读入数组但是文件没有写回到带有更改的txt cfg文件...我有txt cfg文件没有改变100行...有人可以发布解决方案吗?< / p>

由于

示例:

我有档案:

/* check if user exists */
$delete = "F: $username $password # { startdate=$today | enddate=$expired | info=$info | dealer=$dealer }";
$out = array();
while (($line = fgets($stream)) !== false) {
     if(trim($line) != $delete) {
        /* user already exists - we can edit it */
        $out[] = $line;
    }
}

/* write file */
$sftp = ssh2_sftp($con);
$stream = fopen("ssh2.sftp://$sftp/myurl/config/txtfile.cfg", 'w+') or die("can't open file");
flock($stream, LOCK_EX);
foreach($out as $line) {
    fwrite($stream, $line);
}
flock($stream, LOCK_UN);
fclose($stream);

所以我想找到一句话:

F: user010 sdfsdfsdf # { startdate=$today | enddate=$expired | info=$info | dealer=$dealer }
F: huikkd rrrrr # { startdate=$today | enddate=$expired | info=$info | dealer=$dealer }
F: robot56 uxDtpNjf # { startdate=$today | enddate=$expired | info=$info | dealer=$dealer }

并将其编辑为:

F: huikkd rrrrr # { startdate=$today | enddate=$expired | info=$info | dealer=$dealer }

并将其写回到cfg file..i即可通过ssh2连接在服务器上保存文件

1 个答案:

答案 0 :(得分:0)

您将能够编辑任何cfg文件行。不要删除\ n。只需在\ n之前编辑文本。希望这段代码有用: &LT; PHP $线=文件( 'text.cfg',FILE_SKIP_EMPTY_LINES); $ line [4] =“jhasrd ady”。“\ n”; //这将使用文本jhasrd ady编辑第4行 $含量=破灭( '',$线); file_put_contents( 'text.cfg',$内容);