php如何使用檔案鎖

2021-07-14 17:40:03 字數 1278 閱讀 3732

$fp = fopen("test.txt", 'ab');              //from the end

flock($fp, lock_ex); //lock the file for waiting...

fwrite($fp, 'just a test string.......'); //start writing...

flock($fp, lock_un); //release write lock

fclose($fp); //close the file讀操作:

//read

$fp = fopen("test.txt", 'r');

flock($fp, lock_sh);

//read from the file.......

flock($fp, lock_un);

fclose($fp);來詳細的看看 php 手冊上面關於函式 flock 的介紹吧:

flock -- 輕便的諮詢檔案鎖定

其函式原型為:bool flock ( int handle, int operation [, int &wouldblock] )

php 支援以諮詢方式(也就是說所有訪問程式必須使用同一方式鎖定, 否則它不會工作)鎖定全部檔案的一種輕便方法,需要注意的地方是:在 windows 下 flock() 將會強制執行。flock() 操作的 handle 必須是乙個已經開啟的檔案指標。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)。 flock() 允許執行乙個簡單的可以在任何平台中使用的讀取/寫入模型(包括大部分的 unix 派生版和甚至是 windows)。如果鎖定會堵塞的話(ewouldblock 錯誤碼情況下),可選的第三個引數會被設定為 true。鎖定操作也可以被 fclose() 釋放(**執行完畢時也會自動呼叫)。如果成功則返回 true,失敗則返回 false。

PHP 如何使用檔案鎖

寫操作 write fp fopen test.txt ab from the end flock fp,lock ex lock the file for waiting.fwrite fp,just a test string.start writing.flock fp,lock un rel...

PHP之檔案鎖

1 4 5 r 唯讀模式開啟 指標指向檔案頭 6 r 讀寫模式開啟 檔案指標指向檔案頭 7 w 置空寫 忽略檔案中的內容,如果檔案不存在則建立 8 w 置空讀寫模式 忽略檔案中的內容,如果檔案不存在則建立 9 a 寫入 將檔案指標指向檔案尾部 如果不存在則建立檔案 10 a 讀寫 將檔案指標指向檔案...

php 定時任務 檔案鎖 PHP檔案鎖併發操作詳解

本文主要和大家分享php檔案鎖併發操作詳解,預設的 php的檔案操作函式,不是阻塞狀態,而是自由操作狀態,希望能幫助到大家。條件 當需要乙個指令碼操作而需要阻塞另外的指令碼操作時,需要用到檔案鎖。鎖操作流程 先加鎖,檢測鎖是否加成功,如果成功再使用!鎖定型別 讀鎖 s lock share lock...