位置: 编程技术 - 正文

PHP:fopen()的用法_Filesystem函数(php fopen())

编辑:rootadmin
fopen

推荐整理分享PHP:fopen()的用法_Filesystem函数(php fopen()),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php foo,php中fopen函数,php fopen函数的用法,phpforeach用法,php foo,php fopen(),php fopen(),phpfopen函数,内容如对您有帮助,希望把文章链接给更多的朋友!

(PHP 4, PHP 5)

fopen — 打开文件或者 URL

说明 resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

fopen() 将 filename 指定的名字资源绑定到一个流上。

参数

filename

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

如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。

如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。

Note:

所支持的协议列表见支持的协议和封装协议。某些协议(也被称为 wrappers)支持 context 和/或 php.ini 选项。参见相应的页面哪些选项可以被设定(例如 php.ini 中用于 http wrapper 的 user_agent 值)。

On the Windows platform, be careful to escape any backslashes used in the path to the file, or use forward slashes.<?php$handle=fopen("c:\folder\resource.txt","r");?>

mode

mode 参数指定了所要求到该流的访问类型。可以是以下: fopen() 中 mode 的可能值列表 mode 说明 &#;r&#; 只读方式打开,将文件指针指向文件头。 &#;r+&#; 读写方式打开,将文件指针指向文件头。 &#;w&#; 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 &#;w+&#; 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 &#;a&#; 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 &#;a+&#; 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 &#;x&#; 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 &#;x+&#; 创建并以读写方式打开,其他的行为和 &#;x&#; 一样。 &#;c&#; Open the file for writing only. If the file does not exist, it is created. If it exists, it is neither truncated (as opposed to &#;w&#;), nor the call to this function fails (as is the case with &#;x&#;). The file pointer is positioned on the beginning of the file. This may be useful if it&#;s desired to get an advisory lock (see flock()) before attempting to modify the file, as using &#;w&#; could truncate the file before the lock was obtained (if truncation is desired, ftruncate() can be used after the lock is requested). &#;c+&#; Open the file for reading and writing; otherwise it has the same behavior as &#;c&#;.

Note:

不同的操作系统家族具有不同的行结束习惯。当写入一个文本文件并想插入一个新行时,需要使用符合操作系统的行结束符号。基于 Unix 的系统使用 n 作为行结束字符,基于 Windows 的系统使用 rn 作为行结束字符,基于 Macintosh 的系统使用 r 作为行结束字符。

如果写入文件时使用了错误的行结束符号,则其它应用程序打开这些文件时可能会表现得很怪异。

Windows 下提供了一个文本转换标记(&#;t&#;)可以透明地将 n 转换为 rn。与此对应还可以使用 &#;b&#; 来强制使用二进制模式,这样就不会转换数据。要使用这些标记,要么用 &#;b&#; 或者用 &#;t&#; 作为 mode 参数的最后一个字符。

默认的转换模式依赖于 SAPI 和所使用的 PHP 版本,因此为了便于移植鼓励总是指定恰当的标记。如果是操作纯文本文件并在脚本中使用了 n 作为行结束符,但还要期望这些文件可以被其它应用程序例如 Notepad 读取,则在 mode 中使用 &#;t&#;。在所有其它情况下使用 &#;b&#;。

在操作二进制文件时如果没有指定 &#;b&#; 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 rn 字符的奇怪问题。

PHP:fopen()的用法_Filesystem函数(php fopen())

Note:

为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 &#;b&#; 标记。

Note:

再一次,为移植性考虑,强烈建议你重写那些依赖于 &#;t&#; 模式的代码使其使用正确的行结束符并改成 &#;b&#; 模式。

use_include_path

如果也需要在 include_path 中搜寻文件的话,可以将可选的第三个参数 use_include_path 设为 &#;1&#; 或 TRUE。

context

Note: 在 PHP 5.0.0中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见Streams。

返回值

成功时返回文件指针资源,如果打开失败,本函数返回 FALSE。

错误/异常

如果打开失败,会产生一个 E_WARNING 错误。可以通过 @ 来屏蔽错误。

更新日志

版本 说明 4.3.2 自 PHP 4.3.2 起,对所有区别二进制和文本模式的平台默认模式都被设为二进制模式。如果在升级后脚本碰到问题,尝试暂时使用 &#;t&#; 标记,直到所有的脚本都照以下所说的改为更具移植性以后。 4.3.2 增加了选项 &#;x&#; 和 &#;x+&#; 5.2.6 增加了选项 &#;c&#; 和 &#;c+&#;

范例

Example #1 fopen() 例子

<?php$handle=fopen("/home/rasmus/file.txt","r");$handle=fopen("/home/rasmus/file.gif","wb");$handle=fopen("

注释 Warning

使用 SSL 时,Microsoft IIS会违反协议不发送close_notify标记就关闭连接。PHP 会在到达数据尾端时报告“SSL: Fatal Protocol Error”。要解决此问题,error_reporting 应设定为降低级别至不包含警告。PHP 4.3.7 及更高版本可以在使用 包装器打开流时检测出有问题的 IIS 服务器软件 并抑制警告。在使用fsockopen() 创建 套接字时, 开发者需检测并抑制此警告。

Note: 当启用安全模式时,PHP 会在执行脚本时检查被脚本操作的目录是否与被执行的脚本有相同的 UID(所有者)。

Note:

如果在用服务器模块版本的 PHP 时在打开和写入文件上遇到问题,记住要确保所使用的文件和目录是服务器进程所能够访问的。

Note:

This function may also succeed when filename is a directory. If you are unsure whether filename is a file or a directory, you may need to use the is_dir() function before calling fopen().

参见

支持的协议和封装协议 fclose() - 关闭一个已打开的文件指针 fgets() - 从文件指针中读取一行 fread() - 读取文件(可安全用于二进制文件) fwrite() - 写入文件(可安全用于二进制文件) fsockopen() - 打开一个网络连接或者一个Unix套接字连接 file() - 把整个文件读入一个数组中 file_exists() - 检查文件或目录是否存在 is_readable() - 判断给定文件名是否可读 stream_set_timeout() - Set timeout period on a stream popen() - 打开进程文件指针 stream_context_create() - 创建资源流上下文 umask() - 改变当前的 umask SplFileObject

PHP:fseek()的用法_Filesystem函数 fseek(PHP4,PHP5)fseek在文件指针中定位说明intfseek(resource$handle,int$offset[,int$whence=SEEK_SET])在与handle关联的文件中设定文件指针位置。新位置从文件头开始以字

PHP:ftell()的用法_Filesystem函数 ftell(PHP4,PHP5)ftell返回文件指针读/写的位置说明intftell(resource$handle)返回由handle指定的文件指针的位置,也就是文件流中的偏移量。参数handle文件指针必须

PHP:fstat()的用法_Filesystem函数 fstat(PHP4,PHP5)fstat通过已打开的文件指针取得文件信息说明arrayfstat(resource$handle)获取由文件指针handle所打开文件的统计信息。本函数和stat()函数相似,除

标签: php fopen()

本文链接地址:https://www.jiuchutong.com/biancheng/285207.html 转载请保留说明!

上一篇:PHP:ftruncate()的用法_Filesystem函数(php traits)

下一篇:PHP:fseek()的用法_Filesystem函数(phpifelse)

  • 车船税税金及附加计入管理费用嘛
  • 一分钟了解货币
  • 房东口头答应减免房租又反悔了
  • 短期借款利息计提分录
  • 委托加工发出材料成本会计分录
  • 如何查看发票是否被抵扣
  • 小规模纳税人外账处理
  • 苗木种植发票免增值税吗
  • 企业注销企业所得税年报怎么申报
  • 资产减值测试是什么意思
  • 投资性房地产租赁期开始日
  • 会计报表的附表包括哪些
  • 企业如何认定
  • 印花税计入应交税费需要调整吗
  • 北京建筑施工企业排名
  • 应交增值税减免税额期末需要结转吗
  • 开票码是什么意思
  • 企业合并报表后为何要抵消盈余公积补提?
  • 分期付款买车的人多吗
  • 员工培训费应该怎么算
  • 企业所得税营业收入
  • 产业政策鼓励类
  • 稿费个人所得税计算方式
  • 在标题栏显示完整页面
  • 如何在win7系统中查看电脑基本信息
  • 总结linux命令行的主要用法
  • 交际应酬费可以抵扣吗
  • php的数组函数
  • 折扣销售的定义
  • 非货币性资产对外捐赠企业所得税处理
  • 高新技术企业税率15%
  • vue聊天系统
  • 开发成本怎么做分录
  • gpt-3的功能
  • ai线型工具介绍
  • WordPress 浏览量修改
  • 专项应付款能转回来吗
  • 营业税借方表示什么
  • css中权重值是什么意思
  • 收购发票的开具管理
  • 进项税和销项税月末怎么结转
  • PostgreSQL中常用的时间日期脚本使用教程
  • 经营一家淘宝店铺,自然就应该做好
  • 预缴分包抵扣,所有分包都可以抵扣吗
  • 加计抵减会计分录其他收益
  • 非货币性资产交换以公允价值为基础进行计量
  • 预提费用增加在借方还是贷方
  • 企业税预缴在哪里
  • 弥补亏损怎么做分录
  • 应交税费科目的核算内容
  • 查补以前年度所得税
  • 资产减值损失属于损益类的收入还是费用
  • 互联网企业招商手册
  • 如果我们交了房租,对方不给我们开发票
  • 信用减值损失科目代码6702
  • 固定资产折旧残值率的最新规定2021
  • 劳务派遣税率是多少2023
  • 废料卖出算哪种收入
  • 利润总额与应纳税所得额的差异国内动态
  • windows server特点
  • win10预览版好吗
  • ubuntu笔记软件
  • win7系统文件夹怎么加密码
  • 人脉系统
  • tkmc.exe
  • 第三方win7系统哪个最好
  • linux yum安装软件命令
  • 防止非法使用计算机,可口令
  • nodejs bull
  • python 编码声明
  • unity固定位置随机生成物体
  • jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
  • 12366纳税服务热线接收税收违法行政行为举报管理办法
  • 别墅与普通住宅的优缺点
  • 四川税务2021
  • 纳税申报期限和税款缴纳期限一样吗
  • 2021年水资源税征期
  • 郑州市地方税务局新郑国际机场分局
  • 依法征拆
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设