flock функциясы
flock функциясы файлга блөө коёт же аны жокко чыгарат. Ал биринчи параметр катары fopen аркылуу алынган файл көрсөткүчүн, экинчи параметр катары блөө түрүн (LOCK_SH, LOCK_EX же LOCK_UN), үчүнчү милдеттүү эмес параметр катары болсо блоктолбогон операция үчүн желекти кабыл алат.
Синтаксис
flock(resource $handle, int $operation, int &$would_block = null): bool
Мисал
Файлды эксклюзивдүү кириш (жазуу) үчүн блөө:
<?php
$file = fopen("data.txt", "c+");
if (flock($file, LOCK_EX)) {
ftruncate($file, 0);
fwrite($file, "Жаңы маалымат");
flock($file, LOCK_UN);
}
fclose($file);
?>
Мисал
Окуу үчүн бөлүшүлгөн блөө:
<?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;
?>
Мисал
Блоктолбогон блөөнү алуу аракети:
<?php
$file = fopen("data.txt", "c+");
if (flock($file, LOCK_EX | LOCK_NB, $would_block)) {
if ($would_block) {
echo "Файл башка процесс тарабынан блөлгөн";
} else {
fwrite($file, "Маалымат");
flock($file, LOCK_UN);
}
}
fclose($file);
?>
Ошондой эле караңыз
-
файлды ачкан
fopen
функциясын -
файлды жапкан
fclose
функциясын -
жазуу мүмкүнчүлүгүн текшерген
is_writable
функциясын