flock()里的第二个参数分别代表什么?
flock()里的第二个参数分别代表什么?比如flock($filenum,LOCK_SH)里LOCK_SH是什么意思? 问题点数:20、回复次数:2Top
1 楼mistjin(今天天气不错)回复于 2004-05-03 18:40:45 得分 8
bool flock ( int handle, int operation [, int &wouldblock])
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)。
Top
2 楼feel8(Max.H)回复于 2004-05-03 21:17:52 得分 12
flock
(PHP 3>= 3.0.7, PHP 4 )
flock -- 轻便的咨询文件锁定
说明
bool flock ( int handle, int operation [, int &wouldblock])
PHP 支持以咨询方式(也就是说所有访问程序必须使用同一方式锁定, 否则它不会工作)锁定全部文件的一种轻便方法。
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。
如果成功则返回 TRUE,失败则返回 FALSE。
例子 1. flock() 例子
<?php
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // 进行排它型锁定
fwrite($fp, "Write something here\n");
flock($fp, LOCK_UN); // 释放锁定
} else {
echo "Couldn't lock the file !";
}
fclose($fp);
?>
注: 由于 flock() 需要一个文件指针, 因此你可能需要一个锁定文件来保护到你打算通过写模式打开来截断的文件的访问(在 fopen() 函数中加入 "w" 或 "w+")。
警告
flock() 不能在 NFS 以及其他的一些网络文件系统中正常工作。详细资料请检查你的操作系统文档。
在部分操作系统中,flock() 以处理级执行。当用一个多线程服务器 API(比如 ISAPI)时,您可能不可以依靠 flock() 来保护文件,因为在同一服务器内运行在其它线程的 PHP 脚本可以对该文件进行处理。
flock() 不支持旧的文件系统,如 FAT 以及它的派生系统。因此,它在这种情况下经常会返回一个 FALSE 值(尤其是指 Windows 98 的用户)。
Top
相关问题
- rs.open strSql,my_Conn,3,1 可以告诉我各参数代表什么吗?还有哪些参数又分别是什么作用?
- 后面的参数代表什么3Q
- MSG 结构中的参数 lParam wParam 参数代表什么?
- rst.open 后面参数代表是什么意思?
- 请问canvas->Arc的8个参数代表什么意思?
- WinMain的四个参数代表什么含义呢?
- 请教create database中的Name="xxxx"代表了哪个参数?
- 请教函数内的参数(TObject *Sender),Sender是代表什么??
- 请教 shellexecute();函数中的六个参数都代表什么意思?
- 宏IMPLEMENT_SERIAL中的最后一个参数wShema代表什么意思?




