PHP4使用者手冊:函式->flock (轉)

worldblog發表於2007-12-10
PHP4使用者手冊:函式->flock (轉)[@more@]

( 3>= 3.0.7, PHP 4 >= 4.0.0)

flock -- 鎖定

描述

bool flock (int fp, int operation [, int woullock])

PHP 支援在訪問檔案時完全的鎖定檔案(這意味著所有的訪問不得不使用相同的鎖定方式,或者它不工作)。

flock() 執行在開啟的檔案指標fp之上。

operation 是下列值之一:

  • 獲得一個共享鎖(可讀),設定為LOCK_SH (PHP 4.0.1以下設定為1);

  • 獲得一個互斥鎖(只有自己可寫),設定為LOCK_EX (PHP 4.0.1以下設定為2);

  • 釋放鎖(釋放共享鎖或互斥鎖),設定為LOCK_UN (PHP 4.0.1以下設定為3);

  • 如果當鎖定時你不想flock() 塊,新增LOCK_NB (PHP 4.0.1以下設定為4)。

flock() 允許你在每一個平臺上能被使用簡單的讀/寫 (包括眾多的 派生和 系統). 如果你想鎖住塊,你可以設定第三個引數為 TRUE (EWOULDBLOCK errno condition)

flock() 返回 TRUE 為成功;返回 FALSE 為失敗 (e.g. when a lock could not be acquired).

注意: 因為 flock() 需要一個檔案指標,you may have to use a special lock file to protect access to a file that you intend to truncate by opening it in write mode (with a "w" or "w+" argument to 指令碼類/PHP/PHP手冊/fancy/function.fopen.html">fopen()).

警告

flock() 在NFS和其他的檔案系統中將不工作。詳細資料請查閱你的檔案。

有些作業系統 flock() 的需要在一定的執行級別上。當使用多執行緒系統象ISAPI,你不可以依賴flock()去保護檔案,相反其他的 PHP 指令碼正在同一的伺服器的例項中平行執行緒中執行。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991066/,如需轉載,請註明出處,否則將追究法律責任。

相關文章