flock() - 轻便的咨询文件锁定 - php 文件目录函数
flock()
(PHP 4, PHP 5, PHP 7)
轻便的咨询文件锁定
说明
flock(resource $handle,int $operation[,int &$wouldblock]): boolflock()允许执行一个简单的可以在任何平台中使用的读取/写入模型(包括大部分的 Unix 派生版和甚至是 Windows)。
在 PHP 5.3.2版本之前,锁也会被fclose()释放(在脚本结束后会自动调用)。
PHP 支持以咨询方式(也就是说所有访问程序必须使用同一方式锁定,否则它不会工作)锁定全部文件的一种轻便方法。默认情况下,这个函数会阻塞到获取锁;这可以通过下面文档中LOCK_NB
选项来控制(在非 Windows 平台上)。
参数
$handle文件系统指针,是典型地由fopen()创建的resource(资源)。
$operation$operation可以是以下值之一:
LOCK_SH
取得共享锁定(读取的程序)。LOCK_EX
取得独占锁定(写入的程序。LOCK_UN
释放锁定(无论共享或独占)。
如果不希望flock()在锁定时堵塞,则是LOCK_NB
(Windows 上还不支持)。
如果锁定会堵塞的话(EWOULDBLOCK 错误码情况下),可选的第三个参数会被设置为TRUE
。(Windows 上不支持)
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
更新日志
版本 | 说明 |
---|---|
5.3.2 | 在文件资源句柄关闭时不再自动解锁。现在要解锁必须手动进行。 |
4.0.1 | 增加了常量LOCK_XXX。之前你必须使用 1 代表LOCK_SH ,2 代表LOCK_EX ,3 代表LOCK_UN ,4 代表LOCK_NB 。 |
范例
Example #1flock()例子
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)