登录  /  注册
首页 > php教程 > php手册 > 正文
PHP向文件写入或追加数据
php中文网
发布: 2016-06-13 09:07:00
原创
825人浏览过

PHP向文件写入或追加数据


php向文件里写入或追加数据有两种方法,一种是fopen,还有一种是file_put_contents,本文简要介绍一下两种方法的具体用法,有需要的朋友可以看看。

(1)fopen

fopen() 函数打开文件或者 URL,如果打开失败,本函数返回 FALSE。

语法:fopen(filename,mode,include_path,context)

参数   说明

filename  必需。规定要打开的文件或 URL。
mode   必需。规定要求到该文件/流的访问类型。可能的值见下表。
include_path 可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。
context   可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

mode 参数的可能的值

mode 说明
"r" 只读方式打开,将文件指针指向文件头。
"r+" 读写方式打开,将文件指针指向文件头。
"w" 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"w+" 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"a+" 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"x"

创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

"x+"

创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

以追加形式写入内容

登录后复制

(2)file_put_contents

file_put_contents() 函数用于把字符串写入文件,成功返回写入到文件内数据的字节数,失败则返回 FALSE。

语法:int file_put_contents(string filename,string data[,int flags[,resource context]])

参数  说明

filename 要写入数据的文件名
data  要写入的数据。类型可以是 string,array(但不能为多维数组),或者是 stream 资源
flags  可选,规定如何打开/写入文件。可能的值:
FILE_USE_INCLUDE_PATH:检查 filename 副本的内置路径
FILE_APPEND:在文件末尾以追加的方式写入数据
LOCK_EX:对文件上锁
context  可选,Context是一组选项,可以通过它修改文本属性

例如:

登录后复制

以追加形式写入内容

当设置 flags 参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据,例如:

登录后复制

提示

file_put_contents() 的行为实际上等同于依次调用 fopen(),fwrite() 以及 fclose() 函数。

如果文件不存在,则创建文件,相当于fopen()函数行为。

如果文件存在,默认将清空文件内的内容,可设置 flags 参数值为 FILE_APPEND 以避免。

file_put_contents 函数可安全用于二进制对象。

您可能感兴趣的文章

  • PHP判断上传文件类型最安全,最真实的解决办法
  • php获取某段时间内每个月的方法,返回由这些月份组成的数组
  • php获取目录所有文件并将结果保存到数组的程序
  • 使用PHP的GZip压缩功能对网站JS和CSS文件进行压缩加速网站访问速度
  • PHP分析文件头信息判断上传文件的类型
  • 给xp文件夹右键添加新窗口打开文件夹
  • MySQL通过命令形式导入与导出.sql文件备份数据操作的实例
  • php上传大文件失败的解决办法

相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学