簡體   English   中英

在每行的末尾添加一個字符串,但不是在第一行

[英]Adding a string to the end of each line but not the first line

我正在嘗試在每行的末尾添加一個字符串。 到目前為止,這是有效的。 但是我不希望將字符串添加到第一行的末尾。 我怎樣才能做到這一點?

到目前為止,我有:

<?php

$EOLString="string \n";
$fileName = "file.txt";
$baseFile = fopen($fileName, "r");
$newFile="";
while(!feof($baseFile)) {
    $newFile.= str_replace(PHP_EOL, $EOLString, fgets($baseFile));
}
fclose($baseFile);
file_put_contents("newfile.txt", $newFile);

$bingName = "newfile.txt";
$bingFile = fopen($bingName, "a+");
fwrite($bingFile,$EOLString);
fclose($bingFile);

?>

我也嘗試通過這樣做來循環它:

<?php

$EOLString="string \n";
$fileName = "file.txt";
$baseFile = fopen($fileName, "r");
$newFile="";
$x = 0;
while(!feof($baseFile)) {
    if ($x > 0) {
        $newFile.= str_replace(PHP_EOL, $EOLString, fgets($baseFile));
    }
    $x++;
}
fclose($baseFile);
file_put_contents("newfile.txt", $newFile);

$bingName = "newfile.txt";
$bingFile = fopen($bingName, "a+");
fwrite($bingFile,$EOLString);
fclose($bingFile);

?>

所以最終的結果應該是這樣的:

第一個字符串 第二個字符串 第三個字符串

等等。

我希望你可以幫助我!

本 :)

只需在循環中添加一個計數器:

$counter = 0;
while(!feof($baseFile)) {
    $line = fgets($baseFile)
    if($counter++ > 0){
        $newFile.= str_replace(PHP_EOL, $EOLString, $line);
    }else{
        $newFile.= $line . "\n";
    }
}

此外,您似乎正在編寫新文件,只是為了重新打開它並附加更多數據。 沒有必要這樣做,只需在第一次寫入之前附加到內容:

fclose($baseFile);
file_put_contents("newfile.txt", $newFile . $EOLString);

//$bingName = "newfile.txt";
//$bingFile = fopen($bingName, "a+");
//fwrite($bingFile,$EOLString);
//fclose($bingFile);

或者,您可以讀取整個文件,分成幾行,然后重新加入:

$EOLString="string \n";
$lines = explode("\n", file_get_contents("file.txt"));
$first = array_shift($lines);
file_put_contents("newfile.txt", $first . "\n" . implode($EOLString, $lines) . $EOLString);
//done!

通過使用標志

$first = TRUE;//set true first time
while (!feof($baseFile)) {
    $line = fgets($baseFile);
    if (!$first) {// only enter for false
        $newFile.= str_replace(PHP_EOL, $EOLString, $line);
    }
    $first = FALSE;// set false except first
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM