2011-05-04 26 views
0

下面的代碼應該在我的php文件的開頭添加字符串abcdef。小編輯到我的php代碼,在文件開頭添加了一個字符串

但是它會用abcdef替換所有的內容。我該如何糾正它?

另外我怎樣才能添加一些東西,而不是開始?

foreach (glob("*.php") as $file) { 

    $fh = fopen($file, 'c'); //Open file for writing, place pointer at start of file. 
    fwrite($fh, 'abcdef'); 
    fclose($fh); 

} 

回答

1

你只需要打開該文件一個標誌,讓您無需將文件截斷至零長度寫:

$fh = fopen($file, 'r+'); 
+0

謝謝,它的工作!我怎麼才能做到這一點的文件末尾? – EnexoOnoma 2011-05-04 18:12:59

+0

使用'$ fh = fopen('me.txt','a +');' 開放閱讀和寫作;將文件指針放在文件的末尾。如果文件不存在,請嘗試創建它。 – 0xAli 2011-05-04 18:21:10

0

然而,它取代所有與ABCDEF內容。我該如何糾正它?

從對 「C」 模式的文檔fopen

寫入方式打開該文件。如果該文件不存在,則會創建該文件。如果存在,它不會被截斷(與'w'相對),也不會調用此函數(與'x'一樣)。文件指針位於文件的開頭。

當您向該文件寫入'abcdef'時,它將覆蓋前六個字符。要在前面的文字,你需要將現有的內容進行復制,或者通過,或者通過編寫額外的文本之前讀出來:

  1. 創建一個新文件,
  2. 寫入新的文本,
  3. 然後複製舊內容
  4. 然後刪除舊文件和
  5. 重新命名新的。

另外我該如何添加一些東西而不是開始?

使用附加模式:「a」。

相關問題