PHP fwrite在最后插入空白行

时间:2016-03-23 13:55:27

标签: php

我有这段代码:

$fp = fopen($pathAndFileName, "a+");
$n4 = count($output2);
for ($iii=0; $iii<$n4; $iii++)
{
 fwrite($fp, $output2[$iii]);

}

 fclose($fp);

例如,结果是:

A
B
(blank line)

如何删除最后一个空行?

由于

2 个答案:

答案 0 :(得分:1)

在不知道$output2内部的内容的情况下,您可以选择trim内容,例如:

for ($iii=0; $iii<$n4; $iii++) {
    if($iii == ($iii<$n4) -1) {
        $output2[$iii] = trim($output2[$iii]);
    }
    fwrite($fp, $output2[$iii]);
}

如果循环已到达结尾,trim变量。就个人而言,我只是将内容添加到数组中,然后使用新行进行插入:

$content = [];
while(true) {
    $content[] = "string1";
}

//more

fwrite($f, implode("\n", $content));

答案 1 :(得分:1)

您可以在文件的最后一行使用函数rtrim()来修剪该行的任何尾随空格(包括换行符)。

$fp = fopen($pathAndFileName, "a+");
$n4 = count($output2);
for ($iii=0; $iii<$n4; $iii++) {
    $output = $output2[$iii]);
    if($iii == $n4-1) {
        $output = rtrim($output);
    }
    fwrite($fp, $output);
}
fclose($fp);