PHP中file_put_contents写入文件的优点

官方介绍

file_put_contents() 函数把一个字符串写入文件中。

与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

写入方法的比较

先来看看使用 fwrite 是如何写入文件的

$filename   = 'HelloWorld.txt';
$content    = 'Hello World!';
$fh         = fopen($filename, "w");
echo fwrite($fh, $content);
fclose($fh);

再看看使用 file_put_contents 是如何写入文件的

$filename   = 'HelloWorld.txt';
$content    = 'Hello World!';
file_put_contents($filename, $content);

以上我们可以看出,file_put_contents 一行就代替了 fwrite 三行代码,

可见其优点: 简洁、易维护,也不会出现,因 fclose() 忘写的不严密行为。

方法进阶

追加写入

file_put_contents 写入文件时,默认是从头开始写入,如果需要追加内容呢?

在 file_put_contens 方法里,有个参数 FILE_APPEND,这是追加写入文件的声明。

file_put_contents(HelloWorld.txt, 'Hello World!', FILE_APPEND);

锁定文件

在写入文件时,为避免与其它人同时操作,通常会锁定此文件,这就用到了第二个参数: LOCK_EX

file_put_contents(HelloWorld.txt, 'Hello World!', FILE_APPEND|LOCK_EX);

此外,为了确保正确写入,通常会先判断该文件是否可写

if (is_writable('HelloWorld.txt')) {
    file_put_contents(HelloWorld.txt, 'Hello World!', FILE_APPEND|LOCK_EX);
}

时间: 2024-09-20 17:24:01

PHP中file_put_contents写入文件的优点的相关文章

Win7系统在exFAT格式中无法写入文件怎么处理?

  Win7系统在exFAT格式中无法写入文件怎么处理? 1.按"win+r"打开"运行"窗口,输入"cmd"并按回车,打开命令提示符窗口; 2.在打开的命令提示符窗口中,输入命令代码1chkdsk H: /F并按回车,这个时候系统开始自动运行,但需要注意的是,代码中的盘符符号咱们需要根据自己的实际情况进行更改,切记不要直接复制代码使用哦,不然这样是无效的. 3.等系统运行完成后,可就在exFAT中写入文件了,不过为了操作的方便,小编还是建议通过

PHP使用内置函数file_put_contents写入文件及追加内容的方法_php技巧

本文实例讲述了PHP使用内置函数file_put_contents写入文件及追加内容的方法.分享给大家供大家参考,具体如下: 以追加形式写入内容 当设置 flags 参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据: 复制代码 代码如下: <?php file_put_contents("test.txt", "This is another something.", FILE_APPEND); ?> file_put

php中数组写入文件方法

 代码如下 复制代码 var_export($times,true);后面不加true不能写入文件哟 $fp = fopen('aa.txt','w+'); fwrite($fp,var_export($times,true)); fclose($fp); 方法二 利用serializ与unserialize函数  代码如下 复制代码 if(isset($_POST['sub'])){      $cfg = array('contact'=>$_POST['contact']); //把数据存

PHP如何将log信息写入服务器中的log文件_php实例

将log信息写入服务器中的log文件文件,折腾了一大圈终于找到了解决方案,具体内容如下: 折腾: [记录]php中如何写类和如何使用类 期间,需要整理出一份,可配置的,通用的,log系统. 支持写入log信息到log文件中. [折腾过程] 1.搜: php log to file 参考: PHP: error_log – Manual PHP: syslog – Manual How to create logs with PHP – Web Services Wiki Write to a l

在Java中读取写入XML文件(DEMO_004)

1.如果要将读取的XML文件,再写入另外的一个新XML文件中,首先必须新建一个和要读取相对应的beans类,通过set方法填充数据,get方法获取数据. 2.在读取XML文件的时候,需要用到ArrayList集合来存储每次从原XML文件里面读取的数据,在写入新的XML文件的时候,也要通过ArrayList集合获取要遍历的次数,同时将数据写入到新的xml文件中 3.详细代码如下: public static void main(String[] args) { try { String url =

win7电脑中exFAT无法写入文件怎么办?

  之前在很多文章中,小编都有介绍过fat32U盘的格式,这类型的U盘其实也没什么特殊的地方,也是市面上比较常见的U盘格式类型,但是唯一的不足便是无法支持单个大于4G的文件传输,这成为它的硬伤,不过咱们倒是可以通过格式化更改U盘的格式类型,之前微软为了解决这个问题,也退出了一个文件系统,名为exFAT,不过最近有朋友反应,说在ghost win7环境下exFAT无法写入文件,这是怎么回事呢? 1.首先,咱们同时按下win+r打开电脑的运行窗口,然后在窗口中输入cmd并单击回车,这样就可以打开电脑

c++-文件的读写,会将类对象的数据成员写入文件中。能将文件中的信息读入类对象的对应属性中。

问题描述 文件的读写,会将类对象的数据成员写入文件中.能将文件中的信息读入类对象的对应属性中. 情况一:无get,set,无<< >>重载函数的情况下如何将类对象的各个数据成员写入某个文件中(提示:可以在print函数中写代码). 情况二:当程序包含get,set函数而无<< >>重载函数时,如何将类对象的数据成员写入文件中. 情况三:当程序包含<< >>重载函数时,如何将类对象的数据成员写入文件中. 解决方案 大神在哪里,求,求大神

carchive-MFC中读写文件问题 CArchive写入文件的是乱码

问题描述 MFC中读写文件问题 CArchive写入文件的是乱码 代码如下,写入文件之后再打开txt发现除了前面的学号,后面的都是乱码.各行写有注释,请各位帮忙看一下,我觉得可能是宽字节的问题,但是本人是小白不知道该怎么弄,谢谢各位. void Add::OnClickedIdbAdd() { // TODO: Add your control notification handler code here UpdateData(); if (!m_aComp || !m_aEng || !m_a

无法在android中写入文件,只能读取文件系统

问题描述 无法在android中写入文件,只能读取文件系统 我想在 android 中写入一个文件. private void writeScoreToFile(BlastScore result) { try{ FileWriter fstream = new FileWriter(CaptureActivity.BLAST_SCORES,true); BufferedWriter out = new BufferedWriter(fstream); out.write(Integer.toS