加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php打开文件fopen函数的使用一览

发布时间:2022-07-25 10:25:13 所属栏目:PHP教程 来源:互联网
导读:本篇文章是对php中的打开文件fopen函数的使用进行了详细的分析介绍,需要的朋友参考下 1.resource fopen(string $filename, string $mode [,bool $use_include_path [, resource $zcontext]]) 函数功能: fopen() 将 filename 指定的名字资源绑定到一个流
  本篇文章是对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。
 
  php打开文件fopen函数的使用一览
       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+"  
 
  创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 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 字符的奇怪问题。
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读