一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP文件鎖定寫入實例解析

PHP文件鎖定寫入實例解析

2020-07-18 14:04shichen2014 PHP教程

這篇文章主要介紹了PHP文件鎖定寫入實例解析,需要的朋友可以參考下

本文以實例講述了PHP文件寫入方法,以應對多線程寫入,具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function file_write($file_name, $text, $mode='a', $timeout=30){
  $handle = fopen($file_name, $mode);
  while($timeout>0){
    if ( flock($handle, LOCK_EX) ) { // 排它性的鎖定
      $timeout--;
      sleep(1);
    }
  }
  if ( $timeout > 0 ){
    fwrite($handle, $text.'\n');
    flock($handle, LOCK_UN);
    fclose($handle); //釋放鎖定操作
    return true;
  }
  return false;
}

其中flock(int $handle, int $operation)函數(shù)操作的 handle 必須是一個已經(jīng)打開的文件指針。

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)。

此外, fclose()用來釋放鎖定操作,在代碼執(zhí)行完畢時調(diào)用。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九99香蕉在线视频免费 | 久久国产综合精品欧美 | h玉足嫩脚嗯啊白丝 | 黄a在线观看 | 日本一区二区视频在线 | 被老外玩爽的中国美女视频 | 日本成熟老妇xxxx | 久久无码人妻中文国产 | 色综合久久中文字幕综合网 | 午夜国产 | 欧美日韩专区国产精品 | 四虎永久免费地址在线网站 | tube62hdxxxx日本 | 国产日韩欧美在线播放 | 日剧整部剧护妻狂魔免费观看全集 | 欧美一区二区免费 | 236z最新伦理 | 99青青青精品视频在线 | 超级碰在线视频 | 日韩v| 91制片厂果冻星空传媒3xg | 欧美色图日韩色图 | 91av手机在线| 日本视频在线播放 | 亚洲国产视频一区 | 无耻之徒第十一季在线观看 | 欧美成人aa久久狼窝动画 | 欧美日本一本线在线观看 | 女人张开腿让男人桶视频免费大全 | 欧洲久久 | 北条麻妃黑人 | 国自产拍在线天天更新91 | 视频一区久久 | 人生路不在线观看完整版 | 99re这里只有精品视频 | 狠狠的撞进去嗯啊h女强男视频 | 荡女人人爱 | 欧美国产高清 | 日本剧情片在线播放中文版 | 亚洲2017天堂色无码 | 欧美日韩中文字幕在线视频 |