简单谈谈 php 文件锁
发布:smiling 来源: PHP粉丝网 添加日期:2018-08-02 15:55:32 浏览: 评论:0
锁机制之所以存在是因为并发导致的资源竞争,为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成串行状态。作为锁机制中的一种,PHP的文件锁也是为了应对资源竞争。假设一个应用场景,在存在较大并发的情况下,通过fwrite向文件尾部多次有序的写入数据,不加锁的情况下会发生什么?多次有序的写入操作相当于一个事务,我们此时需要保证这个事务的完整性。
如果我们有两个程序同时向某个文件中写入数据,为了保证数据的完整性,可以加一个文件锁,先让程序1执行,程序1执行完后,解锁,再让程序2执行。实现代码如下:
- $fp=<a href="/tags.php/fopen/" target="_blank">fopen</a>('test.txt',"a");
- $count= 10;
- if(flock($fp, LOCK_EX)) {
- for($i=1;$i<$count;$i++){
- fwrite($fp,'text2_'.$i."rn");
- echo"test2".date('h:i:s') . "
- ";
- sleep(1);
- echo"test2".date('h:i:s');
- }
- flock($fp, LOCK_UN);
- }else{
- echo"Couldn't lock the file !";
- } //phpfensi.com
- fclose($fp);
Tags: php 文件锁
相关文章
- ·php 读取目录所有文件信息dir()(2013-11-12)
- ·php获取当前文件所有执行的函数和类(2013-11-12)
- ·php检查文件是否可读和可写(2013-11-14)
- ·PHP文件操作方法问答 (2013-11-14)
- ·PHP 文件操作概述 (2013-11-14)
- ·php文件操作和获取文件信息数据 (2013-11-14)
- ·PHP开发中文件操作疑难问答(2013-11-27)
- ·php判断文件是否存在file_exists 与 is_file详解(2013-11-29)
- ·PHP 获取文件扩展名的方法(2013-11-29)
- ·PHP中读写文件(2013-11-29)
- ·PHP操作文件问答(2013-12-08)
- ·php 显示指定目录所有子文件夹(2013-12-11)
- ·php文件操作(2013-12-11)
- ·php判断文件是否存在(2013-12-16)
- ·php 浏览目录(2013-12-19)
- ·php如何获取文件夹大小程序代码(2014-01-05)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)