background image

 

PHP 基础:php 打开文件 fopen 函数的使用说明

1.resource  fopen(string  $filename, string $mode [,bool $use_include_path [, resource 
$zcontext]])

函数功能:
fopen() 

 

将 filename 指定的名字资源绑定到一个流上。如果 filename   

是 "scheme://..." 的格式,

 

则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果
该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将
filename 当成一个普通的文件名继续执行下去。

 

如果 PHP 

 

认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件

 

必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式
或者 open_basedir 则会应用进一步的限制。

 

如果 PHP 

 

认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 

URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,

 

而 fopen 的调用则失败。

filename:规定要打开的文件或 URL。
mode:规定要求到该文件/流的访问类型。
include_path:可选,如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或
TRUE。
context:可选,规定文件句柄的环境,Context 是可以修该流的行为的一套选项。

mode 参数的可能的值

mode  说明
"r"  只读方式打开,将文件指针指向文件头。
"r+"  读写方式打开,将文件指针指向文件头。
"w"  写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试
创建之。
"w+"  读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝
试创建之。
"a"  写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"a+"  读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"x"  

 

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

 

并返回 FALSE

 

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

之。

 

这和给底层的 open(2) 

 

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

 

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
"x+"