PHP تحقق مما إذا كان ملف مغلق مع Flock ()؟
-
01-10-2019 - |
سؤال
سوف fopen()
فشل في حالة وجود ملف ، ولكنه مقفل حاليًا LOCK_EX
?
أو هل يجب علي فتحه ، ثم حاول و تعيين قفل ، من أجل تحديد ما إذا كان هناك بالفعل؟
لقد قرأت ذلك أيضًا flock()
إرادة؛
توقف مؤقتًا [البرنامج النصي] حتى تحصل على القفل لفترة غير محددة من الوقت أو حتى أوقات البرنامج النصي الخاص بك
إذا كان الأمر كذلك ، فهل هذا صحيح يمكن أن يكون هذا "التوقف" ؛
if (!flock($f, LOCK_SH | LOCK_NB)) {
// file locked, do something else
}
المحلول
flock()
لا يمنعك في الواقع من القراءة/الكتابة إلى ملف ، فهو يتيح لك فقط "توصيل" أفكار القفل إلى البرامج النصية الأخرى. يمكنك اكتشاف ما إذا كان هناك قفل على ملف باستخدام المقتطف الذي نشرته.
لا تنتمي إلى StackOverflow