سؤال

سوف fopen() فشل في حالة وجود ملف ، ولكنه مقفل حاليًا LOCK_EX?

أو هل يجب علي فتحه ، ثم حاول و تعيين قفل ، من أجل تحديد ما إذا كان هناك بالفعل؟

لقد قرأت ذلك أيضًا flock() إرادة؛

توقف مؤقتًا [البرنامج النصي] حتى تحصل على القفل لفترة غير محددة من الوقت أو حتى أوقات البرنامج النصي الخاص بك

http://www.php.net/manual/en/function.flock.php#95257

إذا كان الأمر كذلك ، فهل هذا صحيح يمكن أن يكون هذا "التوقف" ؛

if (!flock($f, LOCK_SH | LOCK_NB)) {
    // file locked, do something else
}
هل كانت مفيدة؟

المحلول

flock() لا يمنعك في الواقع من القراءة/الكتابة إلى ملف ، فهو يتيح لك فقط "توصيل" أفكار القفل إلى البرامج النصية الأخرى. يمكنك اكتشاف ما إذا كان هناك قفل على ملف باستخدام المقتطف الذي نشرته.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top