PHP flock() º¯Êý

¶¨ÒåºÍÓ÷¨

flock() º¯ÊýËø¶¨»òÊÍ·ÅÎļþ¡£

Èô³É¹¦£¬Ôò·µ»Ø true¡£Èôʧ°Ü£¬Ôò·µ»Ø false¡£

Óï·¨

flock(file,lock,block)
²ÎÊý ÃèÊö
file ±ØÐè¡£¹æ¶¨ÒªËø¶¨»òÊͷŵÄÒÑ´ò¿ªµÄÎļþ¡£
lock ±ØÐè¡£¹æ¶¨ÒªÊ¹ÓÃÄÄÖÖËø¶¨ÀàÐÍ¡£
block ¿ÉÑ¡¡£ÈôÉèÖÃΪ 1 »ò true£¬Ôòµ±½øÐÐËø¶¨Ê±×èµ²ÆäËû½ø³Ì¡£

˵Ã÷

flock() ²Ù×÷µÄ file ±ØÐëÊÇÒ»¸öÒѾ­´ò¿ªµÄÎļþÖ¸Õë¡£

lock ²ÎÊý¿ÉÒÔÊÇÒÔÏÂÖµÖ®Ò»£º

  • ҪȡµÃ¹²ÏíËø¶¨£¨¶ÁÈ¡µÄ³ÌÐò£©£¬½« lock ÉèΪ LOCK_SH£¨PHP 4.0.1 ÒÔǰµÄ°æ±¾ÉèÖÃΪ 1£©¡£
  • ҪȡµÃ¶ÀÕ¼Ëø¶¨£¨Ð´ÈëµÄ³ÌÐò£©£¬½« lock ÉèΪ LOCK_EX£¨PHP 4.0.1 ÒÔǰµÄ°æ±¾ÖÐÉèÖÃΪ 2£©¡£
  • ÒªÊÍ·ÅËø¶¨£¨ÎÞÂÛ¹²Ïí»ò¶ÀÕ¼£©£¬½« lock ÉèΪ LOCK_UN£¨PHP 4.0.1 ÒÔǰµÄ°æ±¾ÖÐÉèÖÃΪ 3£©¡£
  • Èç¹û²»Ï£Íû flock() ÔÚËø¶¨Ê±¶ÂÈû£¬Ôò¸ø lock ¼ÓÉÏ LOCK_NB£¨PHP 4.0.1 ÒÔǰµÄ°æ±¾ÖÐÉèÖÃΪ 4£©¡£

ÌáʾºÍ×¢ÊÍ

Ìáʾ£º¿ÉÒÔͨ¹ý fclose() À´ÊÍ·ÅËø¶¨²Ù×÷£¬´úÂëÖ´ÐÐÍê±ÏʱҲ»á×Ô¶¯µ÷Óá£

×¢ÊÍ£ºÓÉÓÚ flock() ÐèÒªÒ»¸öÎļþÖ¸Õ룬 Òò´Ë¿ÉÄܲ»µÃ²»ÓÃÒ»¸öÌØÊâµÄËø¶¨ÎļþÀ´±£»¤´òËãͨ¹ýдģʽ´ò¿ªµÄÎļþµÄ·ÃÎÊ£¨ÔÚ fopen() º¯ÊýÖмÓÈë "w" »ò "w+"£©¡£

Àý×Ó

<?php

$file = fopen("test.txt","w+");

// ÅÅËüÐÔµÄËø¶¨
if (flock($file,LOCK_EX))
  {
  fwrite($file,"Write something");
  // release lock
  flock($file,LOCK_UN);
  }
else
  {
  echo "Error locking file!";
  }

fclose($file);
?>
VUE