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

 更新时间:2014年11月18日 09:19:09   投稿:junjie  
这篇文章主要介绍了PHP文件锁函数flock()详细介绍,本文着重对flock函数的作用和参数讲解,以及使用需要注意的问题,需要的朋友可以参考下

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

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

复制代码 代码如下:

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

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

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

相关文章

  • PHP使用文件锁解决高并发问题示例

    PHP使用文件锁解决高并发问题示例

    这篇文章主要介绍了PHP使用文件锁解决高并发问题,结合实例形式分析了php阻塞模式与非阻塞模式文件锁解决高并发的相关使用技巧,需要的朋友可以参考下
    2018-03-03
  • 解析dedecms空间迁移步骤详解

    解析dedecms空间迁移步骤详解

    本篇文章是对dedecms空间迁移步骤进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 解析PayPal支付接口的PHP开发方式

    解析PayPal支付接口的PHP开发方式

    PayPal 快速、安全而又方便,是跨国交易的首选在线付款方式。现在PayPal支付接口可以和国内大部分信用卡关联,可以实现国人的跨国交易收支。
    2010-11-11
  • php whois查询API制作方法

    php whois查询API制作方法

    网站们经常需要查询网站whois信息,这里介绍一个使用php制作的whois api接口,方法也很简单,下面详细介绍一下。
    2011-06-06
  • PHP注释实例技巧

    PHP注释实例技巧

    php注释一般我们在调试程序过程中,经常需要将不需要执行的或对于程序函数的一些解释都用的到,下面是一些常用的总结
    2008-10-10
  • PHP与MySQL开发的8个技巧小结

    PHP与MySQL开发的8个技巧小结

    LAMP 架构的网站,我以前注重的多是安装/配置方面的,讲述开发的相对较少,因为自己从事开发也少。看了以后,颇有启发,以前开发中遇到的一些问题,迎刃而解。所以翻译出来和大家共享。
    2010-12-12
  • PHP创建桌面快捷方式的实例代码

    PHP创建桌面快捷方式的实例代码

    本篇文章主要是对PHP创建桌面快捷方式的实例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • MySQL的FIND_IN_SET函数使用方法分享

    MySQL的FIND_IN_SET函数使用方法分享

    有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 …..11,12,13等等
    2012-03-03
  • php中如何执行linux命令详解

    php中如何执行linux命令详解

    开发中遇到一种问题,需要在php函数中运行Linux系统代码,所以下面这篇文章主要给大家介绍了关于php中如何执行linux命令的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-11-11
  • PHP中ob_start函数的使用说明

    PHP中ob_start函数的使用说明

    本文是对PHP中ob_start函数的使用方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11

最新评论