2014-12-07 21 views
0

我想知道如何在使用PHP的txt文件中的特定行的開頭添加文本。在PHP的特定行的benining上添加文本

例如線2和4:

Line 1 
Line 2 
Line 3 
Line 4 

Line 1 
Whatever Line 2 
Line 3 
Whatever Line 4 

編輯:每一行的內容是可變的所有時間,所以我不能使用替換或搜索特定字。

謝謝:)

+0

一種方法可能是拆分成數組,然後修改數組的元素。 – 2014-12-07 20:22:20

+0

[如何替換文本文件中的特定行使用php?]的可能重複(http://stackoverflow.com/questions/3004041/how-to-replace-a-particular-line-in-a-text- file-using-php) – 2014-12-07 20:24:14

+0

我無法使用替換,因爲該文件的內容是可變的。 – user3019668 2014-12-07 20:33:51

回答

0

如果你想添加的每個第二行使用此代碼

$n = 0; 
for ($i = 1; $i <= 10; $i++) { 
    if($n % 2 == 1) { 
    echo "Whatever Line: ".$i."<br>"; 
    } else { 
    echo "Line ".$i."<br>"; 
    } $n++; 
} 

但如果你想添加僅第二和第四行使用此代碼。

for ($i = 1; $i <= 10; $i++) { 
      if(($i == 2) or ($i == 4)){ 
      echo "Whatever Line: ".$i."<br>"; 
      } else { 
      echo "Line ".$i."<br>"; 
      } 
    } 
+0

行的內容是可變的,所有時間都不相同。我只想在第2行和第4行的開頭添加文本。每行都有不同的文本,它不是「行X,行X ...」。 – user3019668 2014-12-07 20:32:37

+0

我用新的代碼編輯。現在就試試。 – 2014-12-07 20:41:30

+0

我只想在第2行和第4行的開頭添加文本(我知道該行但我不知道內容是什麼)..我想我沒有很好地解釋它..對不起:/ – user3019668 2014-12-07 20:43:37

1

獲取文件的內容,每行返回數組的索引,使用file()

$lines = file('path/to/your/file'); 

然後,你可以做任何你需要使用正確的行索引:

// prepend content to line 2: 
$abc = 'abc' . $lines[1]; 
// append content to line 4: 
$xyz = $lines[3] . 'xyz'; 

整個過程(獲得的內容,更新它們,然後替換原文件):

$file = 'yourfile.txt'; 
$lines = file($file); 
$lines[1] = 'xxx' . $lines[1]; // prepend content to line 2. 
$lines[3] = 'yyy' . $lines[3]; // prepend content to line 4. 
file_put_contents($file, implode('', $lines));" 
+0

解決!非常感謝你:) – user3019668 2014-12-07 21:54:13

+0

@ user3019668不客氣。請接受幫助其他人搜索類似問題的答案。 – timclutton 2014-12-07 22:14:09

相關問題