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, "New data"); 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 "File is locked by another process"; } else { fwrite($file, "Data"); flock($file, LOCK_UN); } } fclose($file); ?>

Вижте също

  • функцията fopen,
    която отваря файл
  • функцията fclose,
    която затваря файл
  • функцията is_writable,
    която проверява възможността за запис
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне