如何解析PHP中flock()函數(shù)

這篇文章主要介紹如何解析PHP中flock()函數(shù),文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都網(wǎng)站制作、網(wǎng)站設計中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設置、關鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。成都創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設十年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。

在PHP的使用過程中,我們經(jīng)常需要對文件進行讀取,但是為了防止其他進程對文件進行讀取修改,避免沖突的發(fā)生,我們必須在文件讀取時將文件鎖定,然后對文件進行修改,直到完成操作,在這個過程中使用的是flock()函數(shù),本文就帶大家一起了解以下。首次,我們來看一看block()函數(shù)的語法:

flock( resource $handle, int $operation, int $wouldblock = ?)
  • $handle:文件系統(tǒng)指針,是典型地由 fopen() 創(chuàng)建的 resource(資源)。

  • $operation:LOCK_SH取得共享鎖定(讀取的程序)。LOCK_EX 取得獨占鎖定(寫入的程序。LOCK_UN 釋放鎖定(無論共享或獨占)。如果不希望 flock() 在鎖定時堵塞,則是 LOCK_NB(Windows 上還不支持)。

  • $wouldblock:如果鎖定會堵塞的話(EWOULDBLOCK    錯誤碼情況下),可選的第三個參數(shù)會被設置為 true。(Windows 上不支持)

  • 返回值:成功時返回 true, 或者在失敗時返回 false。

代碼實例:

1.使用LOCK_EX

<?php
$fp = fopen("exit.txt", "r+");
if (flock($fp, LOCK_EX)) {  // 進行排它型鎖定
    ftruncate($fp, 0);      // truncate file
    fwrite($fp, "Write something here");
    fflush($fp);            // flush output before releasing the lock
    flock($fp, LOCK_UN);    // 釋放鎖定
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>
exit.text內(nèi)容:Write something here

2.使用LOCK_NB

<?php
$fp = fopen('exit.txt', 'r+');

/* Activate the LOCK_NB option on an LOCK_EX operation */
if(!flock($fp, LOCK_EX | LOCK_NB)) {
    echo 'Unable to obtain lock';
    exit(-1);
}

fclose($fp);


?>

以上是“如何解析PHP中flock()函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:如何解析PHP中flock()函數(shù)
本文網(wǎng)址:http://bm7419.com/article34/gegcse.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、外貿(mào)建站全網(wǎng)營銷推廣、面包屑導航服務器托管、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司