PHP flock() ফাংশন

বিবরণ ও ব্যবহার

flock() ফাংশন ফাইলকে লক করা কিংবা মুক্ত করে

সফল হলে true ফিরাবে।ব্যর্থ হলে false ফিরাবে。

গ্রামার

flock(flock() অপারেশনের,লক,ব্লক)
পারামিটার বর্ণনা
flock() অপারেশনের অপরিহার্য।লক করা হবে কিংবা মুক্ত করা হবে খোলা ফাইল
লক অপরিহার্য।লক করা হবে কোন লকিং টাইপ ব্যবহার করতে নির্দিষ্ট করুন
ব্লক অপশনাল।যদি ১ বা true হয়, তবে লক করা হলে অন্য প্রক্রিয়াকে বাধা দেয়।

বিবরণ

বিবরণ flock() অপারেশনের file

লক তৈরি করা ফাইল পোইন্টার হতে পারে না。

  • পারামিটারটি নিচের মতো কোনও মান হতে পারে: লক সেট করুন LOCK_SH (PHP 4.0.1-র আগের সংস্করণে 1 হিসাবে সংজ্ঞায়িত হয়)
  • একক লকিং পাওয়ার (লিখন প্রোগ্রাম) লক সেট করুন LOCK_EX (PHP 4.0.1-র আগের সংস্করণে 2 হিসাবে সংজ্ঞায়িত হয়)
  • লকিং মুক্ত করতে (শেয়ারড বা এক্সক্লুসিভ উভয়ই), লক সেট করুন LOCK_UN (PHP 4.0.1-র আগের সংস্করণে 3 হিসাবে সংজ্ঞায়িত হয়)
  • যদি আপনি চান যে flock() লকিং সময় ব্যর্থ না হোক, তবে লক যোগ করে LOCK_NB (PHP 4.0.1-র আগের সংস্করণে 4 হিসাবে সংজ্ঞায়িত হয়)

সতর্কতা এবং মন্তব্য

সতর্কতা:দ্বারা fclose() লকিং অপারেশন রিলিজ করতে, কোড সম্পূর্ণ হওয়ার সময়ও স্বয়ংক্রিয়ভাবে বিবেচিত হবে。

মন্তব্য:যেহেতু flock() একটি ফাইল পোইন্টার চায়, সুতরাং একটি বিশেষ লকিং ফাইল ব্যবহার করে ফাইলটির প্রবেশ সুরক্ষিত করানো হতে পারে (fopen() ফাংশনে "w" বা "w+" যোগ করার মাধ্যমে)

প্রতিমান

<?php
$file = fopen("test.txt","w+");
// exclusive locking
if (flock($file,LOCK_EX))
  {
  fwrite($file,"Write something");
  // release lock
  flock($file,LOCK_UN);
  }
else
  {
  echo "Error locking file!";
  }
fclose($file);
?>