PHP如何删除文本文件中的一行?

发布网友 发布时间:2022-04-06 00:36

我来回答

2个回答

懂视网 时间:2022-04-06 04:57

php删除文本文件中的任意行的方法:1、指定操作文件与要删除的行数;2、读取文件数据到数组中;3、删除文件中的指定行;4、重新整理文件数据;5、将删除数据后的文件重新写入原文件。

代码实现:

(推荐教程:php视频教程)

<? php
 $filename = " aaa.txt " ; // 定义操作文件
 $delline = 3 ; // 要删除的行数
 $farray = file ( $filename ); // 读取文件数据到数组中
 for ( $i = 0 ; $i < count ( $farray ); $i ++ )
{ 
 if ( strcmp ( $i + 1 , $delline ) == 0 ) // 判断删除的行,strcmp是比较两个数大小的函数
 { 
 continue ;
 } 
 if ( trim ( $farray [ $i ]) <> "" ) // 删除文件中的所有空行
 { 
 $newfp .= $farray [ $i ]; // 重新整理后的数据
 } 
} 
 $fp = @ fopen ( $filename , " w " ); // 以写的方式打开文件
 @ fputs ( $fp , $newfp );
@ fclose ( $fp );
 ?>

文本文件aaa.txt如下:

10.8.0.1:255.255.255.0
10.8.0.2:255.255.255.0
10.8.0.3:255.255.255.0
10.8.0.4:255.255.255.0
10.8.0.5:255.255.255.0
10.8.0.6:255.255.255.0
10.8.0.8:255.255.255.0

热心网友 时间:2022-04-06 02:05

可以将文本存入到一个数组中,然后删除.用file()将文件读入然后遍历数组找到你要删除的那行重新保存下载一个用txt文本设计的留言本程序。研究一下,很容易了解的好像是复杂了点,全部遍历一次后存入数组,然后把你想删的那条记录删掉,然后再吧所有内容全部重新写入txt文件中function delete($file,$j){$newfile = "";$fc=file($file);$f=fopen($file,"r");flock($f,LOCK_SH);for ($i=0;$i<count($fc);$i++){if ($i != $j){$newfile = $newfile.$fc[$i]."";}}fclose($f);$f=fopen($file,"w");flock($f,LOCK_EX);fclose($f);}实际上就是删除数组中的一项

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com