加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP文件锁函数flock()详细介绍

发布时间:2020-12-13 02:10:20 所属栏目:PHP教程 来源:网络整理
导读:《PHP文件锁函数flock()详细介绍》要点: 本文介绍了PHP文件锁函数flock()详细介绍,希望对您有用。如果有疑问,可以联系我们。 PHP实战 文件操作系统是在网络环境下完成的,可能有多个客户端用户在同一个时刻对服务器上的同一个文件拜访.当这种并发拜访产生

《PHP文件锁函数flock()详细介绍》要点:
本文介绍了PHP文件锁函数flock()详细介绍,希望对您有用。如果有疑问,可以联系我们。

PHP实战文件操作系统是在网络环境下完成的,可能有多个客户端用户在同一个时刻对服务器上的同一个文件拜访.当这种并发拜访产生时,很可能会破坏文件中.例如一个用户正在向文件中写入数据,当还没有写完时,其他用户在这一时刻也向这个文件中写数据,就会造成数据写入混乱.还有,当用户没有将数据写完时,其他用户就去获取这个文件中的内容,也会得到残缺的数据.

PHP实战在PHP中提供了flock()函数,可以对文件使用锁定机制(锁定或释放文件).当一个进程在拜访文件时加上锁,其他进程要想对该文件进行拜访,则必须等到锁定被释放以后.这样就可以避免在并发拜访同一个文件时破坏数据.该函数的原型如下:

代码如下:

bool flock(int handle,int operation[,int&wouldblock])???????????? //轻便的咨询文件锁定

第一个参数handle必须是一个已经打开的文件资源,第二个参数opeation也是必需的,规定使用哪种类型.operation可以是以下值之一:
★LOCK_SH取得共享锁定(从文件中读取数据时使用).
★LOCK_EX取得独占锁定(向文件中写入数据时使用).
★LOCK_UN释放锁定(无论共享或独占锁,都用它释放).
★LOCK_NB附加锁定(如果不希望flock()在锁定时堵塞,则应在上述锁定后加上该锁).

PHP实战如果锁定会堵塞的话(已经被flock()锁定的文件,再次锁定时,flock()函数会被挂起,这时成为锁定堵塞),也可以将可选的第三个参数设定为1,则当进行锁定时会阻挡其他进程.锁定操作也可以被fclose()释放.为了让flock()函数发挥作用,在所有拜访文件的程序中都必须使用相同的方式锁定文件.该函数如果成功则返回TRUE,失败则返回FALSE.

《PHP文件锁函数flock()详细介绍》是否对您有启发,欢迎查看更多与《PHP文件锁函数flock()详细介绍》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读