我们先来看一下file_put_contents的语法及参数,下面是php手册上对file_put_contents的解释

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

参数:
filename
要被写入数据的文件名。

data
要写入的数据。类型可以是 string,array 或者是 stream 资源(如上面所说的那样)。

flags
flags 可以是 FILE_USE_INCLUDE_PATH,FILE_APPEND 和/或 LOCK_EX(获得一个独占锁定),然而使用 FILE_USE_INCLUDE_PATH 时要特别谨慎。

context
一个 context 资源。

 

要实现file_put_contents高并发写入文件,需要使用到第三个参数flags,flags参数为LOCK_EX即可在高并发时获得一个独占锁定。 请看下面实例代码:

<?php
$contents = file_get_contents(\'pickles.txt\');
$contents = strtoupper($contents);
/*  http://www.manongjc.com/article/1433.html */
file_put_contents(\'pickles.txt\', $contents, FILE_APPEND | LOCK_EX);
?>
收藏 打印