位置: 编程技术 - 正文

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)

  • 增值税的计税金额
  • 企业所得税的起征点
  • 注销股本对所有股票影响
  • 7月薪资8月发怎么交税
  • 高新企业如何申报纳税
  • 2019未达起征点免税分录
  • 一般纳税人暂估成本的账务处理
  • 银行承兑汇票利息怎么算
  • 企业受托开发软件是什么
  • 已认证的发票如何导入
  • 投资理财产品的优势和劣势
  • 理论增值额的含义
  • 五证一户什么意思
  • 企业销售净利润较低说明什么
  • 增值税税负率行业标准2022年
  • 国税申报数据能修改吗
  • 个人之间的房屋抵押需要去房管局做登记吗
  • 增值税减免税备案什么时候开始
  • 冲红发票开错了怎么办
  • 企业残疾人保障金的缴纳标准
  • 商业汇票收款到什么账户
  • 系统备份工具
  • 金融服务的手续费要交税吗
  • intel me有什么用
  • 其他应付款的会计分录怎么写
  • 企业所得税职工福利扣除标准
  • 库存盘点的差异怎么算
  • 代销商品受托方怎么做账
  • 待处理流动资产净损失在资产负债表中
  • 个税中累计住房怎么计算
  • 法院判定支付对方诉讼费,我可以入账吗
  • vue vscode snippets
  • 反射机制python
  • php递归算法经典题目
  • 高新技术企业认定八大条件
  • 公司贷款买车有什么风险
  • Linux下MySQL数据库的主从同步复制配置
  • 公司扣除保险费会计分录
  • 什么叫境外所得
  • 结转各项成本的会计分录
  • 税控盘抵减增值税
  • 企业所得税汇算清缴扣除标准2023
  • 增值税不含税销售额填在哪里
  • sql查询结果分页
  • asp连接mysql数据库
  • 入库验收过程中可能出现哪些问题,该如何处理
  • 只有进项税需要结转吗
  • 跨月的凭证出错如何处理
  • 普票不能抵扣为什么有税率
  • 代开发票是不是都要扣增值税呢?
  • 销售部门招待费用预算
  • 什么是代扣代缴税收缴款凭证
  • 母公司与子公司税务关系
  • 高速过路费抵扣增值税
  • 预收货款未发货怎么办
  • 修筑公路的流程视频
  • sql server数据库怎么导出
  • xp怎么把ie浏览器放到桌面
  • 中国主要省份和城市
  • windows server 2008 r2开启远程访问
  • linux make命令怎么用
  • 用ultraiso制作u盘启动盘
  • windows10无法关闭
  • win8任务栏假死
  • win10系统无法安装ie11
  • unity总结
  • css英文代码翻译
  • 对于javascript理解
  • shell 四则运算
  • android studio ndk编程 配置
  • node 操作mysql
  • js密码验证正则表达式
  • sql怎么增删改
  • 电子办税服务厅怎么开电子发票
  • 芜湖市房产退契税是什么政策
  • 税务稽查立案标准金额
  • 漳州市医保缴费标准
  • 契税有发票吗,还是纳税证明
  • 烟叶进口关税
  • 税务申报如何网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设