PHP flock 使用方法以及限制
flock尤其是第二参数的不同而产生的不同结果,手册上讲的“读写的程序”“写入的程序”“无论共享或独占”不是很懂,还有请简单讲一下flock在什么环境下不可用,手册上说的...
flock 尤其是第二参数的不同而产生的不同结果,手册上讲的“读写的程序”“写入的程序”“无论共享或独占” 不是很懂,还有 请简单讲一下flock在什么环境下不可用,手册上说的似乎在什么配置下这个函数会失效
展开
展开全部
你平时用电脑的时候。有没有过类似提示。这个文件在使用中,不允许XXX
这个函数就是起这个作用。
PHP 经常有不同的用户同时访问一个文件。如果有两个人运气很不好的同一时间(微秒级)试图往同一个文件里写入数据。。那PHP 可能会清空这个文件。。
最好的做法,是让另一个人等一会。这个就叫文件锁。。
文件锁有两种情况,一种是,我读取文件的时候,其他人不要往里面写东西。免得有些东西读不到。第二种是,我在写的时候,其他人也不能读写文件,免得清空了文件,或者漏看了刚写的东西。
第一种就是 共享,别人虽然不能往里写,但可以读里面的内容,在读取的时候使用。
第二种就是 独享,谁也动不了这个文件,在写入的时候使用。
而释放的时候,不管哪种,都可以释放。允许别人读/写这个文件。
远程文件(比如 FTP)、老旧的文件系统(比如 FAT),一些特殊的环境下(比如 ISAPI),会导致不可用。
目前来说大部份环境下是可用的。
这个函数就是起这个作用。
PHP 经常有不同的用户同时访问一个文件。如果有两个人运气很不好的同一时间(微秒级)试图往同一个文件里写入数据。。那PHP 可能会清空这个文件。。
最好的做法,是让另一个人等一会。这个就叫文件锁。。
文件锁有两种情况,一种是,我读取文件的时候,其他人不要往里面写东西。免得有些东西读不到。第二种是,我在写的时候,其他人也不能读写文件,免得清空了文件,或者漏看了刚写的东西。
第一种就是 共享,别人虽然不能往里写,但可以读里面的内容,在读取的时候使用。
第二种就是 独享,谁也动不了这个文件,在写入的时候使用。
而释放的时候,不管哪种,都可以释放。允许别人读/写这个文件。
远程文件(比如 FTP)、老旧的文件系统(比如 FAT),一些特殊的环境下(比如 ISAPI),会导致不可用。
目前来说大部份环境下是可用的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询