310 of 410 menu

Функция 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,
    ёзиш имкониятини текшириш
dekknlenuzl