国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

PHP文件鎖函數(shù)flock()詳細(xì)介紹

2024-09-04 11:43:04
字體:
供稿:網(wǎng)友

這篇文章主要介紹了PHP文件鎖函數(shù)flock()詳細(xì)介紹,本文著重對(duì)flock函數(shù)的作用和參數(shù)講解,以及使用需要注意的問題,需要的朋友可以參考下

文件操作系統(tǒng)是在網(wǎng)絡(luò)環(huán)境下完成的,可能有多個(gè)客戶端用戶在同一個(gè)時(shí)刻對(duì)服務(wù)器上的同一個(gè)文件訪問。當(dāng)這種并發(fā)訪問產(chǎn)生時(shí),很可能會(huì)破壞文件中。例如一個(gè)用戶正在向文件中寫入數(shù)據(jù),當(dāng)還沒有寫完時(shí),其他用戶在這一時(shí)刻也向這個(gè)文件中寫數(shù)據(jù),就會(huì)造成數(shù)據(jù)寫入混亂。還有,當(dāng)用戶沒有將數(shù)據(jù)寫完時(shí),其他用戶就去獲取這個(gè)文件中的內(nèi)容,也會(huì)得到殘缺的數(shù)據(jù)。

在PHP中提供了flock()函數(shù),可以對(duì)文件使用鎖定機(jī)制(鎖定或釋放文件)。當(dāng)一個(gè)進(jìn)程在訪問文件時(shí)加上鎖,其他進(jìn)程要想對(duì)該文件進(jìn)行訪問,則必須等到鎖定被釋放以后。這樣就可以避免在并發(fā)訪問同一個(gè)文件時(shí)破壞數(shù)據(jù)。該函數(shù)的原型如下:

bool flock(int handle,int operation[,int&wouldblock])             //輕便的咨詢文件鎖定

第一個(gè)參數(shù)handle必須是一個(gè)已經(jīng)打開的文件資源,第二個(gè)參數(shù)opeation也是必需的,規(guī)定使用哪種類型。operation可以是以下值之一:

★L(fēng)OCK_SH取得共享鎖定(從文件中讀取數(shù)據(jù)時(shí)使用)。

★L(fēng)OCK_EX取得獨(dú)占鎖定(向文件中寫入數(shù)據(jù)時(shí)使用)。

★L(fēng)OCK_UN釋放鎖定(無(wú)論共享或獨(dú)占鎖,都用它釋放)。

★L(fēng)OCK_NB附加鎖定(如果不希望flock()在鎖定時(shí)堵塞,則應(yīng)在上述鎖定后加上該鎖)。

如果鎖定會(huì)堵塞的話(已經(jīng)被flock()鎖定的文件,再次鎖定時(shí),flock()函數(shù)會(huì)被掛起,這時(shí)成為鎖定堵塞),也可以將可選的第三個(gè)參數(shù)設(shè)定為1,則當(dāng)進(jìn)行鎖定時(shí)會(huì)阻擋其他進(jìn)程。鎖定操作也可以被fclose()釋放。為了讓flock()函數(shù)發(fā)揮作用,在所有訪問文件的程序中都必須使用相同的方式鎖定文件。該函數(shù)如果成功則返回TRUE,失敗則返回FALSE。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肇庆市| 承德市| 库伦旗| 屯昌县| 潜山县| 东丽区| 黄龙县| 武定县| 陕西省| 八宿县| 安顺市| 奈曼旗| 铜鼓县| 宿迁市| 永城市| 台中市| 张家港市| 铜陵市| 皮山县| 新宁县| 兴化市| 辽源市| 周口市| 土默特左旗| 长武县| 庆城县| 平罗县| 霍山县| 东安县| 全南县| 盐津县| 平谷区| 皋兰县| 六安市| 田阳县| 惠东县| 海盐县| 吴江市| 永福县| 临泉县| 彭泽县|