• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHPfwrite()函数与file_put_contents()函数的比较

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

两个 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() 函数。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【解惑】PHP中include文件包含路径搜索问题发布时间:2022-07-10
下一篇:
PHP读json文件并转php配置文件发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap