2016-03-23 5 views
0

У меня есть этот код:PHP FWRITE вставить пустую строку в конце

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

} 

fclose($fp); 

Например результат является:

A 
B 
(blank line) 

Как удалить конечную пустую строку?

Благодаря

+1

Почему вы хотите это сделать? В следующий раз, когда вы напишете файл, ваши данные будут выглядеть как 'A (разрыв строки) B (разрыв строки) CAB' строка не прерывается. –

ответ

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

Вы можете использовать несильно 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); 
Смежные вопросы