Flock funksiyasi
flock funksiyasi faylga bloklash o'rnatadi yoki olib tashlaydi. U birinchi parametr sifatida fopen orqali olingan fayl ko'rsatkichini, ikkinchi parametr sifatida bloklash turini (LOCK_SH, LOCK_EX yoki LOCK_UN) va uchinchi ixtiyoriy parametr sifatida bloklamaydigan operatsiya uchun bayroqni qabul qiladi.
Sintaksis
flock(resource $handle, int $operation, int &$would_block = null): bool
Misol
Faylni eksklyuziv kirish (yozish) uchun bloklash:
<?php
$file = fopen("data.txt", "c+");
if (flock($file, LOCK_EX)) {
ftruncate($file, 0);
fwrite($file, "Yangi ma'lumot");
flock($file, LOCK_UN);
}
fclose($file);
?>
Misol
O'qish uchun bo'linadigan bloklash:
<?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;
?>
Misol
Bloklamaydigan bloklashni qo'lga kiritish urinishi:
<?php
$file = fopen("data.txt", "c+");
if (flock($file, LOCK_EX | LOCK_NB, $would_block)) {
if ($would_block) {
echo "Fayl boshqa protsess tomonidan bloklangan";
} else {
fwrite($file, "Ma'lumot");
flock($file, LOCK_UN);
}
}
fclose($file);
?>
Shuningdek qarang
-
fopenfunksiyasini,
u faylni ochadi -
fclosefunksiyasini,
u faylni yopadi -
is_writablefunksiyasini,
u yozish imkoniyatini tekshiradi