亲,你好,没有必要把第一行删除了再读取第二行啊!
青白江网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
你可以直接写一个循环,然后直接逐行读取txt内容就可以了啊!
PHP有读取文本行的函数fgets($handle);
希望可以帮到你哦!~如果有疑问可以私信我或者继续追问哦!~~
是的,没有函数直接删除文件中的行,修改文件(删除、增加)标准的办法都是新建立文件,逐行进行拷贝,在拷贝中遇到需要修改的就进行修改,那么满足你的功能的标准代码是:
删除第二行:
$f1=fopen('fff.txt','r');
$tmp=tempnam();//建立临时文件
$f2=fopen($tmp,'w');
$line_no=1;//行号
while(!feof($f1)){
$line=fgets($f1);
if ($line_no!=2) fputs($f2,$line);
$line_no++;
}
fclose($f1);
fclose($f2);
rename($tmp,'fff.txt');
删除内容为“user2”的行:
$f1=fopen('fff.txt','r');
$tmp=tempnam();//建立临时文件
$f2=fopen($tmp,'w');
while(!feof($f1)){
$line=fgets($f1);
if ($line!='user2') fputs($f2,$line);
}
fclose($f1);
fclose($f2);
rename($tmp,'fff.txt');
补充:这点举一反三都做不到呀,如果是我的学生我不会来做这个补充的~
$f1=fopen('fff.txt','r');
$tmp=tempnam();//建立临时文件
$f2=fopen($tmp,'w');
while(!feof($f1)){
$line=fgets($f1);
list($u,$p)=explode(':',$line);
if ($u!='user2') fputs($f2,$line);
}
fclose($f1);
fclose($f2);
rename($tmp,'fff.txt');
主要就是用到substr函数。这个你查下手册就有用法。
$filename="aaa.txt";//定义操作文件
$delline='13800|'; //要删除的行关键字
,带上|是6位
$farray=file($filename);//读取文件数据到数组中
for($i=0;$icount($farray);$i++)
{
if(substr($farray[$i],0,6)==$delline) //取字符串前6位,再判断
{
continue;
}
if(trim($farray[$i])"") //删除文件中的所有空行
{
$newfp.=$farray[$i]; //重新整理后的数据
}
}
$fp=@fopen($filename,"w");//以写的方式打开文件
@fputs($fp,$newfp);
@fclose($fp);
file_put_contents("count.txt",'');
//file_put_contents()这个方法是将count.txt文件中的内容替换,括号内前面的数据是文件名称和后缀,后面就是要替换的字符串了,只要字符串为‘’就可以将文件中的内容清空了
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款