如何删除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 应该就不难理解了 登录征婚网时,页面右下角有时会弹出某某某正在查看您的资料,这种效果是如何实现的? 紧急求帮助:PHP与JS,DIV的问题。 跳转页面的问题 php 购物车 求思想 或代码 就是下面的代码,保存成 aa.wsf 文件,但是双击运行时报错,我不知什么原因? 发邮件问题 求php阻塞函数 遍历文件之后的默认排序不同环境还不一样,谁能解释下呢 怎样把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 应该就不难理解了