如何删除txt文件中的【最后一行】?? fwrite($flietxt,$txt); fclose($flietxt);最后一行总是空的.有时候随机选择的时候选择到最后一行总是空的容易出现错误.有什么办法可以删除掉最后一行... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 fwrite($flietxt, trim($txt) ); 不是行的 空格.....是一行.... 如果按照你这样弄.会成了都没换行了.我需要保留上面所有的换行符号,但是因为while的原因.最后一行总是空的.....我指的是最后一行是空格.如何去除...是因为 while($r=$empire->fetch($sql)){ $titleurl=sys_ReturnBqTitleLink($r); $txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']."\n"; //fwrite($flietxt,$txt); fwrite($flietxt, trim($txt) ); }fclose($flietxt);'\n'导致的最后一行永远都是空格.. #最简单的办法将“\n”放在前面,但会导致第一行总为空while($r=$empire->fetch($sql)){ $titleurl=sys_ReturnBqTitleLink($r); $txt="\n".$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']; fwrite($flietxt,$txt); }#另一种就是控制循环的最后一行的输出$i=0;while($r=$empire->fetch($sql)){ $titleurl=sys_ReturnBqTitleLink($r); if($i<count($r)){ $txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']."\n"; }else{ $txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']; } fwrite($flietxt,$txt); $i++; }#最后一种是将最后要写入的内容进行裁剪,这种办法相对来说最简单while($r=$empire->fetch($sql)){ $titleurl=sys_ReturnBqTitleLink($r); $txt.=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']."\n"; } fwrite($flietxt,substr($txt, 0, (strlen($txt)-1))); #3的最后一种方法直接:fwrite($flietxt,substr($txt, 0, -1)); 试试这样,而且以后类似问题,建议也这样解决。$temp = array();while($r=$empire->fetch($sql)){ $titleurl=sys_ReturnBqTitleLink($r); $txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']; //fwrite($flietxt,$txt); $temp[] = $text; } fwrite($flietxt, implode("\n" , $temp ) );fclose($flietxt); 这个问题你都能弄得这么复杂。唠叨的fwrite($flietxt, trim($txt) );你怕没有换行符那你就fwrite($flietxt, trim($txt)."\n" ); 就是去掉txt末尾重复的\n, 楼上即可. 你问题的标题是:如何删除txt文件中的【最后一行】也就只给了fwrite($flietxt,$txt); fclose($flietxt);两行代码我回答你 fwrite($flietxt, trim($txt) );有什么不妥吗?对于多行文本,只要删去最后的换行符就可以了对于 #2 的派生问题,要具体情况具体分析那是分行逐次写文件如果需要最后的一行不写换行符,判断起来比较复杂但如果倒过来,问题就简单了$lr = '';while($r=$empire->fetch($sql)){ fwrite($flietxt, $lr . trim($txt) ); $lr = PHP_EOL;}我们把换行符放在行首,这要文件的最后一行后边就没有换行符了问题变成:如何不写第一行前面的换行符观察代码中的 $lr 应该就不难理解了 关于管理员权限的问题 小弟不才,求教static的问题 PHPExcel,如何clone一行,然后copy到2000行? ACCESS数据库是不是不能用带group by的select语句 自己写了个动态树,为什么是死循环? 请问怎么判断一个web连接有效,请给下代码,谢谢 在分页的时候遇到的问题 php 读form表单的<textarea > 最大字节 如何中断一个内含表单提交的include文件? 求助大神,PHP抓取网页信息失败,错误提示无法解决,求助 怎么判断php循环中是不是最后一个? php mysql_connect连接不上时候,输出错误
不是行的 空格.....是一行.... 如果按照你这样弄.会成了都没换行了.我需要保留上面所有的换行符号,但是因为while的原因.最后一行总是空的.....我指的是最后一行是空格.如何去除...是因为 while($r=$empire->fetch($sql)){
$titleurl=sys_ReturnBqTitleLink($r);
$txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']."\n";
//fwrite($flietxt,$txt);
fwrite($flietxt, trim($txt) );
}fclose($flietxt);'\n'导致的最后一行永远都是空格..
#最简单的办法将“\n”放在前面,但会导致第一行总为空
while($r=$empire->fetch($sql)){
$titleurl=sys_ReturnBqTitleLink($r);
$txt="\n".$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic'];
fwrite($flietxt,$txt);
}#另一种就是控制循环的最后一行的输出
$i=0;
while($r=$empire->fetch($sql)){
$titleurl=sys_ReturnBqTitleLink($r);
if($i<count($r)){
$txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']."\n";
}else{
$txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic'];
}
fwrite($flietxt,$txt);
$i++;
}#最后一种是将最后要写入的内容进行裁剪,这种办法相对来说最简单
while($r=$empire->fetch($sql)){
$titleurl=sys_ReturnBqTitleLink($r); $txt.=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic']."\n";
}
fwrite($flietxt,substr($txt, 0, (strlen($txt)-1)));
fwrite($flietxt,substr($txt, 0, -1));
while($r=$empire->fetch($sql)){
$titleurl=sys_ReturnBqTitleLink($r);
$txt=$r['id'].'||'.$r['title'].'||'.$titleurl.'||'.$r['newstime'].'||'.$r['titlepic'];
//fwrite($flietxt,$txt);
$temp[] = $text;
}
fwrite($flietxt, implode("\n" , $temp ) );
fclose($flietxt);
唠叨的
fwrite($flietxt, trim($txt) );
你怕没有换行符
那你就
fwrite($flietxt, trim($txt)."\n" );
也就只给了
fwrite($flietxt,$txt);
fclose($flietxt);
两行代码
我回答你 fwrite($flietxt, trim($txt) );
有什么不妥吗?对于多行文本,只要删去最后的换行符就可以了对于 #2 的派生问题,要具体情况具体分析
那是分行逐次写文件
如果需要最后的一行不写换行符,判断起来比较复杂
但如果倒过来,问题就简单了
$lr = '';
while($r=$empire->fetch($sql)){
fwrite($flietxt, $lr . trim($txt) );
$lr = PHP_EOL;
}
我们把换行符放在行首,这要文件的最后一行后边就没有换行符了
问题变成:如何不写第一行前面的换行符
观察代码中的 $lr 应该就不难理解了