两个 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. linux tricks 之 typeof用法.

    typeof是gcc的扩展功能,比较简单,是用来取得参数类型,具体可参考gcc官网的解释. https://gcc.gnu.org/onlinedocs/gcc/Typeof.html ------- ...

  2. XtraScrollableControl 滚动条控件随鼠标滚动

    using System; using System.Windows.Forms; using DevExpress.XtraEditors; namespace WindowsFormsApplic ...

  3. oracle sql developer数据表注释为乱码问题---解决

    参考网址:http://blog.163.com/jackie_howe/blog/static/19949134720121126879265/ 内容: 在windows中创建一个名为“NLS_LA ...

  4. EAS使用中FineUI的配置

    <?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...

  5. UVA - 10891 Game of Sum 区间DP

    题目连接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19461 Game of sum Description This ...

  6. XTU 1242 Yada Number 容斥

    Yada Number Problem Description: Every positive integer can be expressed by multiplication of prime ...

  7. 【codevs1993】草地排水 最大流

    [codevs1993]草地排水 题目描述 Description 在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段 ...

  8. 小甲鱼PE详解之基址重定位详解(PE详解10)

    今天有一个朋友发短消息问我说“老师,为什么PE的格式要讲的这么这么细,这可不是一般的系哦”.其实之所以将PE结构放在解密系列继基础篇之后讲并且尽可能细致的讲,不是因为小甲鱼没事找事做,主要原因是因为P ...

  9. 安装phpmyadmin

    1.查看PHP版本 新建文本文档,填写下面内容: <?phpphpinfo();?>保存,然后更改文件名为phpinfo.php放到你域名根目录,然后通过你的域名+phpinfo.php浏 ...

  10. 微信公众平台开发3:订阅事件subscribe处理

    新用户关注微信公众平台,将产生一个订阅事件,即subscribe事件,默认代码中没有对这一事件进行相应处理. 在新用户关注公众平台后,可能想知道该平台提供了哪些功能,以及怎样使用该平台,通俗一点讲就是 ...