Php 将字符串添加到每行的末尾,但不添加到第一行
我正在尝试在每条线的末尾添加一个字符串。到目前为止,这是可行的。但是,我不希望字符串被添加到第一行的末尾。我该怎么做 到目前为止,我得到了:Php 将字符串添加到每行的末尾,但不添加到第一行,php,Php,我正在尝试在每条线的末尾添加一个字符串。到目前为止,这是可行的。但是,我不希望字符串被添加到第一行的末尾。我该怎么做 到目前为止,我得到了: <?php $EOLString="string \n"; $fileName = "file.txt"; $baseFile = fopen($fileName, "r"); $newFile=""; while(!feof($baseFile)) { $newFile.= str_replace(PHP_EOL, $EOLString,
<?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
}