PHP文件写入函数file_put_contents并发追加写入丢失内容问题解决方法

在php开发的web项目中用file_put_contents函数FILE_APPEND追加文件,由于多客户并发访问,所以经常出现内容缺失的问题。

出现这个种情况可以在写入文件的时候加一个LOCK_EX参数,这个参数LOCK_EX的意思就是写文件时,先锁上这个文件,这样只允许某个客户端访问的时候写,其他客户端访问不能“同时”写了。

使用方法:

file_put_contents($file, $content, FILE_APPEND|LOCK_EX)

参数意义:

$file=>这个是写入文件的路径+文件名

$content=>这个是写入文件的内容

FILE_APPEND=>直接在该文件已有的内容后面追加内容

LOCK_EX=>写文件的时候先锁定,防止多人同时写入造成内容丢失

你可能感兴趣的:(php)