首页 > 问答 > 正文
如题目,若是有时需要在文件中增加内容,怎么保证写的东西不会被另一个人也打开在里面写?
我想的是写操作开始之前随便生成一个东西,操作完成之后,再把这东西给删除啦;
PHP中文网2017-05-16 13:00:28
文件锁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<code><?php
$fp = fopen("/tmp/lock.txt", "r+");
$fp
=
fopen
(
"/tmp/lock.txt"
,
"r+"
);
if (flock($fp, LOCK_EX)) { // 进行排它型锁定
if
flock
, LOCK_EX)) {
// 进行排它型锁定
ftruncate($fp, 0); // truncate file
ftruncate(
, 0);
// truncate file
fwrite($fp, "Write something here\n");
fwrite(
"Write something here\n"
fflush($fp); // flush output before releasing the lock
fflush
// flush output before releasing the lock
flock($fp, LOCK_UN); // 释放锁定
, LOCK_UN);
// 释放锁定
} else {
}
else
{
echo "Couldn't get the lock!";
echo
"Couldn't get the lock!"
;
fclose($fp);
fclose(
?></code>
From : http://php.net/manual/zh/func...