两个 PHP 函数都可以把字符串保存到文件中,fwrite() 函数的格式是:

int fwrite ( resource handle , string string [ , int length] )

它只能写入字符串。

file_put_contents() 函数的格式是:

int file_put_contents ( string $filename, mixed $data [, int $flags [, resource $context]] )

其中 file 是文件路径,data 可以是字符串,可以是一维数组或二维数组,不能是多维数组

两种方法当要写入的文件不存在时,都会自动创建文件。当文件存在时, 根据使用 fwrite() 函数之前使用 fopen() 函数打开文件资源的模式,或者使用 file_put_contents() 函数的第三个参数来确定写入文件的模式:

例如

使用 fopen() , fwrite() , fclose() 这一系列函数时

<?php

$filename = "data.txt";

$handle = fopen($filename,"w") or die("打开".$filename."文件失败");

$str = "updating your profile with your name";

fwrite($handle,$str);

fclose($handle);

就相当于 file_put_contents() 的

<?php

$filename = "data.txt";

$str = "updating your profile with your name";

file_put_contents($filename,$str);

将原本需要 3 行代码的地方简化到了 1 行。

当需要追加写入文件时,fopen() , fwrite() , fclose() 的

<?php

$filename = "data.txt";

$handle = fopen($filename,"a") or die("打开".$filename."文件失败");

$str = "updating your profile with your name";

fwrite($handle,$str);

fclose($handle);

就相当于 file_put_contents() 的

<?php

$filename = "data.txt";

$str = "updating your profile with your name";

file_put_contents($filename,$str,FILE_APPEND);

另外为了避免多人同时操作文件,可以增加文件的锁声明:

file_put_contents($filename,$str,FILE_APPEND|LOCK_EX);

效率:file_put_contents() 函数与依次调用 fopen() , fwrite() , fclose() 的功能一样,也就是说,file_put_contents() 在写入每条数据时,都要打开和关闭资源,而使用 fopen()、 fwrite() 、fclose() 时,只需要一次打开资源和一次关闭资源关闭,效率上使用 fopen()、 fwrite() 、fclose() 更快,适用于处理大量数据;如果处理的数据量不多,为了代码简洁可以使用file_put_contents() 函数。

PHP fwrite() 函数与 file_put_contents() 函数的比较的更多相关文章

  1. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink

    php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...

  2. PHP file_put_contents() 函数

    file_put_contents() 函数把一个字符串写入文件中. 与依次调用 fopen(),fwrite() 以及 fclose() 功能一样. 语法如下 file_put_contents(f ...

  3. ThinPHP第二十八天(F函数和file_put_contents区别|PHP生成PHP文件,Kindeditor编辑器使用方法)

    1.F(name,data,path)函数和file_put_contents(file,str)区别 F函数直接生成<?php ?>格式的php文件了,将data加入到<?php和 ...

  4. PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来)

    PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来) 一.总结 1.文件路径中的正反斜杠:当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而 ...

  5. PHP常用文件函数和目录函数整理

    一.常用文件函数库 1.basename(); -- 返回路径中的文件名部分. string basename ( string $path [, string $suffix ] ) //给出一个包 ...

  6. 深入理解javascript函数定义与函数作用域

    最近在学习javascript的函数,函数是javascript的一等对象,想要学好javascript,就必须深刻理解函数.本人把思路整理成文章,一是为了加深自己函数的理解,二是给读者提供学习的途径 ...

  7. JavaScript 函数节流和函数去抖应用场景辨析

    概述 也是好久没更新 源码解读,看着房价蹭蹭暴涨,心里也是五味杂陈,对未来充满恐惧和迷茫 ...(敢问一句你们上岸了吗) 言归正传,今天要介绍的是 underscore 中两个重要的方法,函数节流和函 ...

  8. 如果你也会C#,那不妨了解下F#(4):了解函数及常用函数

    函数式编程其实就是按照数学上的函数运算思想来实现计算机上的运算.虽然我们不需要深入了解数学函数的知识,但应该清楚函数式编程的基础是来自于数学. 例如数学函数\(f(x) = x^2+x\),并没有指定 ...

  9. js函数表达式和函数声明的区别

    我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...

随机推荐

  1. 国密SM4对称算法实现说明(原SMS4无线局域网算法标准)

    国密SM4对称算法实现说明(原SMS4无线局域网算法标准) SM4分组密码算法,原名SMS4,国家密码管理局于2012年3月21日发布:http://www.oscca.gov.cn/News/201 ...

  2. 【读书笔记】读《JavaScript高级程序设计-第2版》 - 非函数部分

    章节列表: 第08章:BOM 第09章:客户端检测 第10章:DOM 第11章:DOM2和DOM3 第12章:事件 第13章:表单脚本 第14章:错误处理与调试 第17章:Ajax和JSON第20章: ...

  3. struts2 标签问题----escape="false" 这个属性

    1.在编程过程中,会遇到这个动西,escape="false" eg: <s:fielderror escape="false"/>-------& ...

  4. linux Xtrabackup安装及使用方法

    [root@centos01 ~]# rpm -Uvh http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x ...

  5. Codeforces Round #267 (Div. 2) C. George and Job DP

                                                  C. George and Job   The new ITone 6 has been released ...

  6. Html的一点点收获

    结束了牛腩,总结了自己的收获,我开始了征战HTML的计划,在看<提高班培养计划>的时候,我很诧异,因为<HTML孙鑫>这个项目竟然就只有一天的时间,怎么可以这样,但是,我还是决 ...

  7. SQL Server:在事务中回滚TRUNCATE操作

    我们一般都认为TRUNCATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列. 如果你在事务中进行TRUNCATE操作,就能回滚.反之,它就不会从日志文件文件恢复数据.它不会在 ...

  8. 把Chrome浏览器变成文本编辑器

    CoderWall 分享的一个小技巧. 在浏览器地址栏中输入一行代码:data:text/html, <html contenteditable> ,回车即可把浏览器变临时编辑器. 按f1 ...

  9. 自定义漂亮的Android SeekBar样式

    系统自带的SeekBar真是太难看了,不能容忍! 只能自己做了,先来张效果图 第1个Seekbar 背景是颜色,thumb是图片,上代码: <SeekBar android:id="@ ...

  10. ember.js:使用笔记8 加载测试与集成测试

    emberjs使用的测试工具为qunit.js: 加载:将runner.js添加到Index.html:大致内容: if (window.location.search.indexOf("? ...