English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل PHP الأساسي

دليل PHP المتقدم

PHP & MySQL

دليل PHP

استخدام وظيفة PHP flock() ومثال

    دليل PHP Filesystem

تقوم وظيفة flock() بتعقيد أو إطلاق قفل الملف، وتع�回 true إذا كانت النتيجة ناجحة، وإلا تعود false.

النحو

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

تسمح لنا وظيفة flock() بتنفيذ نموذج بسيط من قارئ/كاتب، والذي يمكن استخدامه تقريبًا على جميع المنصات.

التعليقات والنصائح

التعليق: هذه القفل تُستخدم فقط في عملية PHP الحالية. إذا كان لديها الأذونات المناسبة، يمكن للعمليات الأخرى تعديل أو حذف ملفات PHP المقيدي.
التعليق: flock() إلزامي في Windows.
نصيحة: يمكن إطلاق عملية القفل باستخدام fclose()، وسيتم تفعيل هذه العملية تلقائيًا عند اكتمال تنفيذ الدوال.

ال参数

ال参数الوصف
handle
مطلوب. تحديد الملف المفتوح الذي سيتم قفله أو إطلاقه.
operation
مطلوب. تحديد نوع القفل الذي سيتم استخدامه.

القيم الممكنة:

  • LOCK_SH - قفل مشترك (للبرامج القارئة). يسمح للعمليات الأخرى بالوصول إلى الملف.

  • LOCK_EX - قفل مطلق (للبرامج الكاتبة). يمنع العمليات الأخرى من الوصول إلى الملف.

  • LOCK_UN - إطلاق قفل مشترك أو قفل مطلق.

  • LOCK_NB - تجنب الحجب عند القفل.

    هذه القفل تُستخدم فقط في عملية PHP الحالية، ويمكن للعمليات الأخرى تعديل أو حذف الملفات المقيدين في PHP إذا كان لديها الأذونات المناسبة. في Windows، يجب استخدام هذه الوظيفة. يمكننا استخدام fclose() للإفراج عن عملية القفل، يمكن تفعيل هذه العملية تلقائيًا عند اكتمال تنفيذ الدوال.

wouldblock
اختياري. إذا تم تعيينه إلى 1، فإنه سيتم حجب العمليات الأخرى عند القفل.

مثال عبر الإنترنت

مثال استعمال القفل الإحصائي LOCK_EX

<?php
   $file = fopen("/PhpProject/sample.txt", "w+");
   // 独占锁
   if(flock($file, LOCK_EX)) {
      fwrite($file, "flock function");
      
       // 释放锁
      flock($file, LOCK_UN);
      echo $file;
   } else {
      echo "锁定文件时出错!";
   }
   fclose($file);
?>

دليل PHP Filesystem