位置: 编程技术 - 正文

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)

  • 什么是销项税额抵减
  • 企业资产损失税前扣除管理办法2011215号第46条
  • 纳税申报流程视频教程
  • 税务师的含金量怎么样
  • 股东投资款给自己发工资如何处理?
  • 返岗补贴怎么办理
  • 金税盘不用了之后要抄报税吗
  • 补偿金需要缴纳个税吗?
  • 法人章和财务章谁保管
  • 小规模纳税人开专票需要交税吗
  • 停车费可以抵扣个人所得税吗
  • 没有车加油费可以入账吗
  • 个体工商户在哪注销营业执照
  • 退货手续费账务怎么处理
  • 低值易耗品如何报废
  • 收到政府土地收回的短信
  • 无法提供财产原值凭证
  • 承包费收入如何交增值税
  • 环评费用包括哪些
  • 以固定资产增资子公司 可以溢价么
  • 买酒 专票
  • 收到设备租金计入什么会计科目
  • 应交增值税减免税款账务处理
  • 单位购买的团体意外险会计分录
  • 企业注销前需要固定资产清理吗
  • 事业单位去年的岗位今年还会招吗
  • 季度所得税预缴税款表中主营业务成本是否包含管理费用
  • 股东投进来的钱可以放哪个科目
  • 产品预付款合同如何填写
  • 收据怎么写比较规范
  • 劳务费和工资薪金合并计算个人所得税合适吗
  • 业务员报销清单表
  • 将原材料变成成品的过程
  • 什么是毛利润和纯利润
  • php递归函数遍历数组
  • 财务费用利息收入为什么是负数
  • 工资个人所得税怎么减税条件
  • Win11 Build 22000.160(KB5005189)预览版发布,更新了哪些内容
  • 市面最高版本
  • 车保险理赔的钱多久到账
  • css3两种调整背景图片大小的方式
  • 股权转让怎样能不交税 认缴
  • 农民专业合作社连续几年未从事经营活动吊销营业执照
  • 持有至到期投资属于流动资产吗
  • 出让土地的土地出让金与抵押权
  • 累计净值是怎么计算的
  • 什么叫做应税劳务
  • 增值税税率调整为13%从什么时候开始实行
  • 疫情捐款可以抵扣增值税吗
  • 直接转销法还允许使用吗
  • 新股东入股的账务处理
  • 权益法的股权比例
  • 委托加工以受托方核定的数量为计税依据
  • 写字楼里的公司怎么赚钱
  • 以存货抵偿债务
  • 商贸公司库存表怎么做
  • 企业装卸费抵扣怎么做账
  • 金税盘费用不交会怎么样
  • mysql日期用什么数据类型
  • 数据库mysql索引
  • win8.1 升级
  • ubuntu怎么root权限
  • centos下安装windows
  • linux apache 启动
  • linux怎样使用命令
  • Linux网络抓包工具
  • unity shader lod
  • js+html
  • javascript如何学
  • python自动发邮件内容
  • unity smooth
  • 利用职务之便谋取私利是什么罪
  • 浅析科学发展观的核心立场
  • eclipse导入server
  • Android mediaplayer 白屏
  • 出口退税收入怎么做账
  • 进项税发票过期了怎么办
  • 个税专项扣除填报错误怎么办
  • 以出让方式取得的土地
  • 云南税收主要经济来源
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设