background image

 

 

创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败

 

并返回 FALSE

 

,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建

之。

 

这和给底层的 open(2) 

 

系统调用指定 O_EXCL|O_CREAT 标记是等价的。

 

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
Note:
不同的操作系统家族具有不同的行结束习惯。当写入一个文本文件并想插入一个新行时,

 

需要使用符合操作系统的行结束符号。基于 Unix 的系统使用\n 作为行结束字符,基于 
Windows 

 

的系统使用 \r\n 

 

作为行结束字符,基于 Macintosh 

 

的系统使用 \r 作为行结束字

符。

如果写入文件时使用了错误的行结束符号,则其它应用程序打开这些文件时可能会表现
得很怪异。
Windows 下提供了一个文本转换标记('t'

 

)可以透明地将 \n 

 

转换为 \r\n。与此对应还可以

使用'b' 

 

来强制使用二进制模式,这样就不会转换数据。要使用这些标记,要么用 'b' 或者

 

用 't' 

 

作为 mode 参数的最后一个字符。

 

默认的转换模式依赖于 SAPI 

 

和所使用的 PHP 版本,因此为了便于移植鼓励总是指定恰

当的标记。如果是操作纯文本文件并在脚本中使用了\n 作为行结束符,但还要期望这些文

 

件可以被其它应用程序例如 Notepad 

 

读取,则在 mode 

 

中使用 't'。在所有其它情况下使

用'b'。

 

在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图

 

片文件以及关于 \r\n 字符的奇怪问题。