PHP supports a portable way of locking complete files in
an advisory way (which means all accessing programs have to
use the same way of locking or it will not work).
flock() operates on handle which must be an open file
pointer. operation is one
of the following values:
To acquire a shared lock (reader), set operation toLOCK_SH (set to 1 prior to PHP
4.0.1).
To acquire an exclusive lock (writer), set operation to LOCK_EX (set to 2 prior to PHP
4.0.1).
To release a lock (shared or exclusive), set operation to LOCK_UN (set to 3 prior to PHP
4.0.1).
If you don't want flock() to
block while locking, add
LOCK_NB (4 prior to PHP 4.0.1) to operation.
flock() allows you to perform a
simple reader/writer model which can be used on virtually
every platform (including most Unix derivatives and even
Windows). The optional third argument is set to TRUE if the lock would block
(EWOULDBLOCK errno condition)
成功回傳TRUE失敗回傳FALSE。
注: Because flock() requires a file pointer, 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 fopen()).
|