两个 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. C++拷贝构造函数(深拷贝,浅拷贝)

    http://www.cnblogs.com/BlueTzar/articles/1223313.html 对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a;  ...

  2. free(): invalid next size (fast/normal)问题

    本文转自 http://blog.sina.com.cn/s/blog_77f1e27f01019qq9.html  ,在此感谢! c++编译常会出现free(): invalid next size ...

  3. ARP协议和DNS协议对比

    DNS是在域名和IP之间进行解析,ARP是在IP和MAC之间解析. ARP协议不需要服务,DNS需要开启服务. ARP协议需要互联的主机处于同一个物理网段之内(即局域网环境)

  4. 百万用户时尚分享网站feed系统扩展实践

    Fashiolista是一个在线的时尚交流网站,用户可以在上面建立自己的档案,和他人分享自己的以及在浏览网页时看到的时尚物品.目前,Fashiolista的用户来自于全球100多个国家,用户达百万级, ...

  5. 简单灵活的 PHP页面跳转函数

    <?         function Location($url = ,) == ,) === ,) ===  ) {                                 $pro ...

  6. phpcms分页使用

    #pages { padding: 14px 10px; font-family: 宋体; } .text-c { text-align: center; } #pages span { displa ...

  7. js实现iframe自适应高度

    转自:http://www.jb51.net/article/15780.htm 对于自适应高度的代码有很多,可效率什么的考虑进来好代码就不多见了,不过思路倒是差不多的! 不带边框的iframe因为能 ...

  8. 代码实现UI控件

    参考 Android 用纯代码实现复杂界面

  9. 【codevs2822】爱在心中 tarjan 缩点+理解

    [codevs2822]爱在心中 2014年1月26日5580 题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动.爱因为在心中,平凡而不平庸, ...

  10. 图文详解YUV420, yuv格式2

    YUV格式有两大类:planar和packed. 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V. 对于packed的YUV格式,每个像素点的Y ...