相关疑难解决方法(0)

读取和写入LOCK_EX应该是原子的吗?

file_put_contents ( "file", "data", LOCK_EX )
Run Code Online (Sandbox Code Playgroud)

写作(意思是 - 获取锁定和写入)

file_get_contents ( "file", LOCK_EX )
Run Code Online (Sandbox Code Playgroud)

用于阅读(这意味着 - 获取锁定然后阅读)

它会抛出异常吗?提出错误?阻止直到获得锁定?或者至少 - 应该吗?有一天php会有这样的表现吗?

编辑:我知道可以使用重命名 - 我想知道答案...

php locking atomic blocking atomicity

21
推荐指数
2
解决办法
2万
查看次数

如何将file_put_contents()与FILE_APPEND |一起使用 LOCK_EX安全吗?

我正在使用:

file_put_contents("peopleList.txt", $person, FILE_APPEND | LOCK_EX);
Run Code Online (Sandbox Code Playgroud)

写入文件的末尾并确保没有其他人(或脚本)同时写入同一文件.

PHP手册说,如果不成功,将返回一个falsy值.

如果它无法获取文件的锁定,它会失败还是继续尝试直到它可以?如果在无法获得锁定时失败,那么确保写入数据的最佳方法是什么?

也许在while循环中循环该函数,直到它不返回false(cringe)或只是向用户(网站访问者)提供某种GUI请求他们再试一次?

php writing file-handling

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×2

atomic ×1

atomicity ×1

blocking ×1

file-handling ×1

locking ×1

writing ×1