更多: zhilu jiaocheng
示例
<?php $file_handle = fopen("sample-file.txt", "w"); // 打开文件以便写入 $handle = fopen("http://www.onitroad.com/", "r"); // 打开网站 ?>
如果无法打开文件,此函数返回 FALSE 和错误。
语法
fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) : resource
参数
filename
如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。
如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。
mode
mode 参数指定了所要求到该流的访问类型。可以是以下值:
mode | 说明 |
---|---|
'r' | 只读方式打开,将文件指针指向文件头。 |
'r+' | 读写方式打开,将文件指针指向文件头。 |
'w' | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'w+' | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'a' | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'a+' | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'x' | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL |
'x+' | 创建并以读写方式打开,其他的行为和 'x' 一样。 |
'c' | 打开该文件仅用于写入。如果文件不存在,则创建该文件。如果它存在,它既不会被截断(与“w”相反),也不会调用此函数失败(与“x”的情况相同)。文件指针位于文件的开头。如果需要在尝试修改文件之前获得建议锁(请参见flock()),这可能很有用,因为使用“w”可以在获得锁之前截断文件(如果需要截断,则可以在请求锁后使用ftruncate().'c+' |
use_include_path
如果也需要在 include_path 中搜寻文件的话,可以将可选的第三个参数 use_include_path 设为 '1' 或者 TRUE。
context
在 PHP 5.0.0 中增加了对上下文(Context)的支持。
PHP fopen () 是内置函数,用于打开文件或者 URL。
日期:2020-09-17 00:10:28 来源:oir作者:oir