php 檔案鎖處機制
檔案鎖定機制一般在單一開啟檔案的時候根本看不到效果。這一塊的學習有一點抽象。
大家不要去思考怎麼實現的呀?
為什麼看不到效果呀?
答:因為電腦的操作太快了,基本上是毫秒的。所以這個實驗其實是看不到效果的。
這一章了解檔案鎖定的基本概念即可,熟悉檔案鎖定函數和鎖定機制。
文件鎖定的用途:
若一個人在寫入一個文件,另外一個人同時也打個了這個文件進行寫入文件。
這情況下,如果遇到一定的碰撞機率的話,不知道到底誰的操作為準。
因此,這個時候我們引入鎖定機制。
若用戶A在寫入或讀取這個檔案的時候,將檔案加上共享所。我可以讀,其他人也可以讀。
但是,我如果這與的時候。我使用獨佔鎖。這個文件歸我了,你們都別動,除非我將文件鎖進行釋放。
注意:不論加上了檔案鎖定後要注意釋放。
我們來看看這個函數:
bool flock ( resource $handle , int $operation)
功能:輕巧的諮詢檔案鎖定
我們來看看鎖定類型:
鎖定類型 | #說明 |
---|---|
LOCK_SH | 取得共享鎖定(讀取的程式) |
#LOCK_EX | 取得獨佔鎖定(寫入的程式 |
LOCK_UN | 釋放鎖定(無論共享或獨佔) |
我們接下來把demo.txt加上一個獨佔鎖,進行寫入操作。我操作完成,寫入完成後,解除掉了獨佔鎖定。
#