class LockableFile (View source)

Properties

protected resource $handle

The file resource.

protected string $path

The file path.

protected bool $isLocked

Indicates if the file is locked.

Methods

void
__construct(string $path, string $mode)

Create a new File instance.

void
ensureDirectoryExists(string $path)

Create the file's directory if necessary.

void
createResource(string $path, string $mode)

Create the file resource.

string
read(int|null $length = null)

Read the file contents.

int
size()

Get the file size.

$this
write(string $contents)

Write to the file.

$this
truncate()

Truncate the file.

$this
getSharedLock(bool $block = false)

Get a shared lock on the file.

$this
getExclusiveLock(bool $block = false)

Get an exclusive lock on the file.

$this
releaseLock()

Release the lock on the file.

bool
close()

Close the file.

Details

void __construct(string $path, string $mode)

Create a new File instance.

Parameters

string $path
string $mode

Return Value

void

protected void ensureDirectoryExists(string $path)

Create the file's directory if necessary.

Parameters

string $path

Return Value

void

protected void createResource(string $path, string $mode)

Create the file resource.

Parameters

string $path
string $mode

Return Value

void

Exceptions

Exception

string read(int|null $length = null)

Read the file contents.

Parameters

int|null $length

Return Value

string

int size()

Get the file size.

Return Value

int

$this write(string $contents)

Write to the file.

Parameters

string $contents

Return Value

$this

$this truncate()

Truncate the file.

Return Value

$this

$this getSharedLock(bool $block = false)

Get a shared lock on the file.

Parameters

bool $block

Return Value

$this

Exceptions

LockTimeoutException

$this getExclusiveLock(bool $block = false)

Get an exclusive lock on the file.

Parameters

bool $block

Return Value

$this

Exceptions

LockTimeoutException

$this releaseLock()

Release the lock on the file.

Return Value

$this

bool close()

Close the file.

Return Value

bool

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.