SplFileObject::flock

Portable file locking

&reftitle.description; public `bool` `SplFileObject::flock` `int` `operation` `int` `wouldBlock`&null;

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

&reftitle.parameters;

`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).

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### `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!";
    }
    ?>

&reftitle.seealso;

- `flock`