对我的php代码进行小编辑,在文件开头添加一个字符串

时间:2011-05-04 18:08:35

标签: php

以下代码应该在我的php文件的开头添加字符串abcdef。

然而,它用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);

}

2 个答案:

答案 0 :(得分:1)

您只需要打开一个带有标志的文件,该标志允许您在不将文件截断为零的情况下进行写入:

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

答案 1 :(得分:0)

  

然而,它用abcdef替换了所有内容。我该如何纠正?

在“c”模式下的fopen文档中:

打开文件仅供写入。如果该文件不存在,则创建该文件。如果存在,则既不截断(与'w'相反),也不会调用此函数失败(如'x'的情况)。文件指针位于文件的开头。

当您向文件中写入'abcdef'时,它将覆盖前六个字符。要预先添加文本,您需要复制现有内容,方法是在编写其他文本之前将其读出,或者通过以下方式:

  1. 创建新文件
  2. 撰写新文字,
  3. 然后复制旧内容,
  4. 然后删除旧文件和
  5. 重命名新的。
  6.   

    另外,我怎样才能在最后添加一些东西而不是开始?

    使用追加模式:“a”。