位置: 编程技术 - 正文

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)

  • 增值税发票网上勾选平台
  • 一般纳税人是否可以开普票
  • 暂估入库年末怎么处理
  • 自然人个税申报错误怎么更改?
  • 低值易耗品包括哪些东西和产品
  • 开了农民工资金专户必须使用吗
  • 小规模纳税人开具不动产发票税率
  • 怎么查纳税人信用等级
  • 天猫最新提现技术
  • 综保区和自贸区的联系
  • 无形资产账面价值和可收回金额孰低摊销吗
  • 制造费用折旧费怎么结转
  • 资本公积科目余额能出现小数吗
  • 增值税发票小规模2023
  • 境外工资薪金
  • 工会经费可以不提吗
  • 税务登记号和统计号区别
  • 供暖税收分类编码是多少
  • 增长率的六个公式
  • 孵化器虚拟地址多少钱一个啊
  • 家电折旧费法律依据
  • 定期定额自行申报表计税依据
  • 公司办公楼转让缴纳增值税的依据
  • 汽车维修公司如何经营粉丝群才能让潜在客户注意到我们
  • 工程和技术研究和试验发展
  • 红字发票信息表是销方还是购方开
  • 存货盘亏损失
  • 产品配件属于什么会计科目
  • 重装系统出现无效签名
  • 采用赊销方式销售货物的纳税义务发生时间
  • 税收返还的账务处理
  • wlms.exe是什么
  • win11系统怎么删除账户
  • “linux系统”
  • csinsmnt.exe进程的作用介绍 csinsmnt是什么进程
  • 持有至到期投资减值准备
  • 以本年利润弥补以前年度亏损会影响所有者权益总额吗
  • 多伦多日照时间
  • php中正则表达式
  • 应交税金应交增值税科目设置
  • 原材料当废品卖出分录
  • 投资收益属于营业外收入吗
  • ssh命令用法
  • apache 反射工具类
  • linuxroot切换
  • phpcms建站教程
  • 转让全部探明矿权合法吗
  • 运输费用增值税怎么算
  • 全年一次性奖金单独计税还是并入
  • 小规模纳税人出售使用过固定资产
  • 计提存货跌价准备计算公式
  • 施工单位代建收费合理吗
  • 企业在建工程项目
  • 计提本月工资的账务处理
  • 外商投资企业开什么发票
  • 私营企业会计退休年龄50还是55
  • mysql使用入门
  • mysql 5.7.22安装教程
  • aix解除镜像
  • windowsserver2008r2版本区别
  • linux系统中常用的五种文件类型
  • 搜狗浏览器2019版本
  • 方块滚动代码怎么写
  • nodejs函数返回值
  • Node.js中的construct
  • 批处理列出文件名
  • javascript数学函数
  • 天气球球怎么下载
  • 用vue做项目加入购物车是怎么做到的
  • jquery 图片插件
  • HAL code debug
  • android拖拽
  • python二叉树的遍历算法
  • 整理Javascript事件响应学习笔记
  • 百旺开票人怎么把管理员改成人名
  • 莅临指导和莅临交流的区别
  • 服务费交哪个税目的印花税
  • 四川国税发票查验真伪
  • 从国外寄电吉他要多少钱
  • 税务宪法宣传简报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设