色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP文件鎖定寫入實(shí)例解析

本文以實(shí)例講述了php文件寫入方法,以應(yīng)對(duì)多線程寫入,具體代碼如下:

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 必須是一個(gè)已經(jīng)打開的文件指針。

operation 可以是以下值之一:

要取得共享鎖定(讀取的程序),將 operation 設(shè)為 LOCK_SH(php 4.0.1 以前的版本設(shè)置為 1)。
要取得獨(dú)占鎖定(寫入的程序),將 operation 設(shè)為 LOCK_EX(php 4.0.1 以前的版本中設(shè)置為 2)。
要釋放鎖定(無論共享或獨(dú)占),將 operation 設(shè)為 LOCK_UN(php 4.0.1 以前的版本中設(shè)置為 3)。
如果不希望 flock() 在鎖定時(shí)堵塞,則給 operation 加上 LOCK_NB(php 4.0.1 以前的版本中設(shè)置為 4)。

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

php技術(shù)PHP文件鎖定寫入實(shí)例解析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 灵山县| 镶黄旗| 德令哈市| 大兴区| 儋州市| 宜兴市| 翁牛特旗| 墨玉县| 凌源市| 洛宁县| 克什克腾旗| 普兰县| 独山县| 兴和县| 新密市| 象州县| 遵化市| 黑龙江省| 威信县| 青铜峡市| 磴口县| 长治市| 广德县| 莒南县| 石门县| 新乐市| 化州市| 阿荣旗| 邵阳市| 寻乌县| 清水河县| 曲松县| 博爱县| 垣曲县| 鲁甸县| 延长县| 黑龙江省| 广饶县| 米易县| 贵港市| 揭东县|