Die flock Funksie
Die funksie flock plaas of verwyder 'n lêersluiting. Dit neem as eerste parameter 'n wyser na die lêer, verkry deur fopen, as tweede parameter die tipe sluiting (LOCK_SH, LOCK_EX of LOCK_UN), en as derde opsionele parameter 'n vlag vir 'n nie-blokkerende operasie.
Sintaksis
flock(resource $handle, int $operation, int &$would_block = null): bool
Voorbeeld
Sluit 'n lêer vir eksklusiewe toegang (skryf):
<?php
$file = fopen("data.txt", "c+");
if (flock($file, LOCK_EX)) {
ftruncate($file, 0);
fwrite($file, "New data");
flock($file, LOCK_UN);
}
fclose($file);
?>
Voorbeeld
Gedeelde sluiting vir lees:
<?php
$file = fopen("data.txt", "r");
if (flock($file, LOCK_SH)) {
$content = fread($file, filesize("data.txt"));
flock($file, LOCK_UN);
}
fclose($file);
echo $content;
?>
Voorbeeld
Nie-blokkerende poging om 'n sluiting te verkry:
<?php
$file = fopen("data.txt", "c+");
if (flock($file, LOCK_EX | LOCK_NB, $would_block)) {
if ($would_block) {
echo "File is locked by another process";
} else {
fwrite($file, "Data");
flock($file, LOCK_UN);
}
}
fclose($file);
?>
Sien ook
-
die funksie
fopen,
wat 'n lêer oopmaak -
die funksie
fclose,
wat 'n lêer toemaak -
die funksie
is_writable,
wat skryftoegang nagaan