位置: 编程技术 - 正文

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)

  • 收到退个税手续费要交增值税吗?
  • 小规模纳税人开专票税率是1%还是3%
  • 公司组织出国旅游费用
  • 养老保险滞纳金最高限额规定
  • 固定资产丢失
  • 企业销售使用过的固定资产
  • 同一控制企业合并的特征包括
  • 填写三季度预缴所得税申报表应关注哪些事项
  • 向银行贷款买车 绿本要给银行吗
  • 应收账款资产减值损失转回和核销的区别
  • 委托销售怎么做分录
  • 当月用专票是增版还是增量
  • 进项税过期不抵扣怎么写会计分录?
  • 供应商采购额变动原因有哪些
  • 办公室租赁合同需要交哪些税额?
  • 启用新账簿
  • 餐饮外卖的经营范围是什么项目
  • 贷款本金余额具体是什么意思
  • 汽车修理费抵扣怎么做账
  • 劳务公司如何确定收入
  • 怎样知道自己是否贫血
  • 如何设置老板键
  • 办妥托收手续会计分录
  • 城市生活垃圾处理方法
  • 图解 http
  • 事业单位专项款不能购买资产吗
  • 二手车交易税咋算
  • 销售旧固定资产开票税目是什么
  • php语言版本
  • 行政事业单位的主要经济业务活动有哪些
  • uni-app开发教程
  • php的curl实例
  • 承兑汇票和现汇
  • 一般纳税人向小规模纳税人开专票
  • thinkphp隐藏index.php
  • 信用减值损失属于费用类科目吗
  • 企业季度所得税怎么算
  • 财务人离职了怎么说
  • 程序员未来会失业吗
  • lstm输出多个预测值
  • 销售费用的主要类型有哪些
  • 人力资源企业税收风险
  • 公司资金转到法人帐户
  • 季度所得税申报怎么弥补以前年度亏损
  • 个体工商户税务登记需要哪些资料
  • vuex 3
  • 建筑业工会经费计提比例
  • 新公司财务需要哪些东西
  • 长期待摊费用是非流动资产吗
  • 建筑公司可以开3个点的专票吗
  • sql server自动生成行号
  • 民办非盈利组织注销了在哪登报
  • 水费差额缴税如何计算
  • 子公司提的盈余公积合并时如何抵消
  • 业务招待费进项税额转出会计分录
  • 研发产品入库
  • 退货销售折让会计分录
  • 物料损耗率计算例题及答案
  • 香港发票在内地认可吗
  • 资产减值损失的账务处理
  • sql servers
  • mysql安装时出现的问题
  • VMware虚拟机中安装MATE桌面环境
  • wlan device什么意思
  • 一劳永逸的方法是什么
  • centos关闭gui
  • mac计算器怎么用
  • switcher.exe - switcher是什么进程
  • win8系统开机
  • win1021h2正式版
  • 使用xshell连接虚拟机需要修改哪些配置
  • win10每次开机提示硬件设置已更改
  • win8系统教程
  • 用javascript
  • vs提示图标的含义
  • 单向链表的基本操作
  • js瀑布流布局
  • javascript要怎么学
  • android 系统app开机自启动设置
  • 航空煤油消费税征收环节
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设