日期:2014-05-17  浏览次数:20502 次

如何删除txt文件中的【最后一行】??
fwrite($flietxt,$txt);
fclose($flietxt);

最后一行总是空的.有时候随机选择的时候选择到最后一行总是空的容易出现错误.有什么办法可以删除掉最后一行...

------解决方案--------------------
试试这样,而且以后类似问题,建议也这样解决。
PHP code

$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看看。
------解决方案--------------------
你问题的标题是:如何删除txt文件中的【最后一行】
也就只给了
fwrite($flietxt,$txt);
fclose($flietxt);
两行代码
我回答你 fwrite($flietxt, trim($txt) );
有什么不妥吗?对于多行文本,只要删去最后的换行符就可以了

对于 #2 的派生问题,要具体情况具体分析
那是分行逐次写文件
如果需要最后的一行不写换行符,判断起来比较复杂
但如果倒过来,问题就简单了
PHP code
$lr = '';
while($r=$empire->fetch($sql)){
  fwrite($flietxt, $lr . trim($txt) );
  $lr = PHP_EOL;
}