php文件锁定写实例解析
本文以一个实例说明PHP文件处理多线程写入的方法。具体代码如下:功能file_write(file_name美元美元美元,文本模式= 'a',超时= 30美元){
为处理= fopen(file_name美元,$模式);
当($超时> 0){
如果(羊群(合处理,lock_ex)){ / /独占锁
超时—;
睡眠(1);
}
}
如果(超时时间> 0){
fwrite(合处理,文本的美元。');
羊群(合处理,lock_un);
Fclose($处理); / /释放锁操作
返回true;
}
返回false;
}
羊群的句柄(int句柄,int操作)函数必须是已打开的文件指针。
操作可以是以下值之一:
获取一个共享锁(读程序),设置操作lock_sh(在PHP 4.0.1设置为1版)。
获取独占锁(写程序),设置操作lock_ex(设置为2在PHP 4.0.1版本)。
释放锁(是否共享或独占),设置操作lock_un(设置为3在PHP 4.0.1版本)。
如果你不想让羊群()被锁定时,添加lock_nb操作(设置为4在PHP 4.0.1版本)。
此外,Fclose()是用来释放锁的操作和调用的代码完成时。