略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: SplFileObject::flock

2024-04-27

SplFileObject::flock

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::flockPortable file locking

说明

public SplFileObject::flock(int $operation, int &$wouldBlock = null): bool

Locks or unlocks the file in the same portable way as flock().

参数

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).

It is also possible to add LOCK_NB as a bitmask to one of the above operations, if flock() should not block during the locking attempt.

wouldBlock

Set to true if the lock would block (EWOULDBLOCK errno condition).

返回值

成功时返回 true, 或者在失败时返回 false

范例

示例 #1 SplFileObject::flock() example

<?php
$file 
= new SplFileObject("/tmp/lock.txt""w");
if (
$file->flock(LOCK_EX)) { // do an exclusive lock
    
$file->ftruncate(0);     // truncate file
    
$file->fwrite("Write something here\n");
    
$file->flock(LOCK_UN);   // release the lock    
} else {
    echo 
"Couldn't get the lock!";
}
?>

参见

  • flock() - 轻便的咨询文件锁定
add a noteadd a note

User Contributed Notes 1 note

up
4
digitalprecision at gmail dot com
11 years ago
For the record, the example given here has an explicit command to truncate the file, however with a 'write mode' of 'w', it will do this for you automatically, so the truncate call is not needed.

官方地址:https://www.php.net/manual/en/splfileobject.flock.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3