310 of 410 menu

Flock-funktio

Funktio flock asettaa tai poistaa tiedoston lukituksen. Ensimmäisenä parametrina se ottaa osoittimen tiedostoon, joka on saatu fopen:n kautta, toisena parametrina - lukituksen tyypin (LOCK_SH, LOCK_EX tai LOCK_UN), ja kolmantena valinnaisena parametrina - lipun ei-lukitsevalle toiminnalle.

Syntaksi

flock(resource $handle, int $operation, int &$would_block = null): bool

Esimerkki

Tiedoston lukitus eksklusiivista pääsyä varten (kirjoitusta varten):

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX)) { ftruncate($file, 0); fwrite($file, "Uudet tiedot"); flock($file, LOCK_UN); } fclose($file); ?>

Esimerkki

Jaettu lukitus lukemista varten:

<?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; ?>

Esimerkki

Ei-lukitseva yritys saada lukitus:

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX | LOCK_NB, $would_block)) { if ($would_block) { echo "Tiedosto on toisen prosessin lukitsema"; } else { fwrite($file, "Tiedot"); flock($file, LOCK_UN); } } fclose($file); ?>

Katso myös

  • funktion fopen,
    joka avaa tiedoston
  • funktion fclose,
    joka sulkee tiedoston
  • funktion is_writable,
    joka tarkistaa kirjoitusmahdollisuuden
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää