سبد (0)

تابع ()flock

تابع ()flock


PHP Filesystem Reference توابع کار با فایل ها در PHP


تعریف و کاربرد

تابع ()flock یک فایل را قفل کرده و یا آزاد می کند. 

این تابع در صورت موفقیت TRUE و در صورت شکست FALSE را برمی گرداند. 

نحوه نوشتن

flock(file,lock,block)
پارامترهاتوضیحات
file

ضروری. یک فایل باز شده را مشخص می کند که قرار است قفل شود یا آزاد گذاشته شود. 

lock

ضروری. مشخص می کند که از چه نوع قفلی استفاده شود. 

مقادیر امکان پذیر:

  • LOCK_SH - قفل به اشتراک گذاشته شده(reader). به دیگر پروسه ها اجازه ی دسترسی به فایل را می دهد.
  • LOCK_EX -قفل انحصاری(writer). از دسترسی دیگر پروسه ها به فایل اجتناب می کند. 
  • LOCK_UN -یک قفل اشتراکی یا انحصاری را آزاد می کند. 
  • LOCK_NB -از مسدود کردن دیگر پروسه ها به هنگام قفل شدن اجتناب می کند. 
block

اختیاری. برای مسدود کردن دیگر پروسه ها به هنگام قفل کردن آن را به 1 ست کنید. 


نکات قابل توجه

نکته: این قفل ها تنها به پروسه ی php جاری اعمال می شوند. دیگر پروسه ها می توانند در صورتی که مجوزها اجازه دهند، یک فایل php قفل شده را تغییر داده یا حذف نمایند. 

نکته: قفل مورد نظر همچنین به وسیله ی ()fclose نیز آزاد می شود. این دستور به هنگامی که اسکریپت پایان یابد به طور اتوماتیک فراخوانی می شود. 


مثال

<?php

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

// exclusive lock
if (flock($file,LOCK_EX))
  {
  fwrite($file,"Write something");
  // release lock
  flock($file,LOCK_UN);
  }
else
  {
  echo "Error locking file!";
  }

fclose($file);
?>

PHP Filesystem Reference توابع کار با فایل ها در PHP

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه