background image

 

PHP 基础:PHP flock 文件锁

以下是对 php 中文件锁函数

flock

函数用法简介

flock

 

(PHP 4, PHP 5) 
 

flock

 — 

 

轻便的咨询文件锁定

 

 

说明
bool 

flock

 ( int 

$handle

 , int 

$operation

 [, int &

$wouldblock

 ] ) 

PHP 支持以咨询方式(也就是说所有访问程序必须使用同一方式锁定, 否则它不会工作)

 

锁定全部文件的一种轻便方法。
 
Note: 
 

 

在 Windows   

flock

() 

 

将会强制执行。

 

flock

() 

 

操作的 handle 必须是一个已经打开的文件指针。operation 

 

可以是以下值之一:

 
 

 

要取得共享锁定(读取的程序),将 operation 

 

设为 LOCK_SH(PHP 4.0.1 以前的版本设

 

置为 1

 

)。

 

要取得独占锁定(写入的程序),将 operation 

 

设为 LOCK_EX(PHP 4.0.1 以前的版本中

 

设置为 2

 

)。

 

要释放锁定(无论共享或独占),将 operation 

 

设为 LOCK_UN(PHP 4.0.1 以前的版本中

 

设置为 3

 

)。

 

如果不希望

flock

() 

 

在锁定时堵塞,则给 operation 

 

加上 LOCK_NB(PHP 4.0.1 以前的版本

 

中设置为 4

 

)。

 

flock

() 允许执行一个简单的可以在任何平台中使用的读取/

 

写入模型(包括大部分的 Unix 

 

派生版和甚至是 Windows)。如果锁定会堵塞的话(EWOULDBLOCK 错误码情况下),

 

可选的第三个参数会被设置为 TRUE

 

。锁定操作也可以被 fclose() 释放(代码执行完毕时

 

也会自动调用)。
 

 

成功时返回 TRUE  

 

, 或者在失败时返回 FALSE. 

 
 
Example #1 

flock

() 

 

例子

代码如下:
 
<?php