ฟังก์ชัน flock() ใช้ในการล็อคหรือปล่อยไฟล์
หากสำเร็จ ฟังก์ชันจะส่งกลับ TRUE หากล้มเหลวจะส่งกลับ FALSE
ฝูง (ไฟล์, ล็อค, บล็อก)
พารามิเตอร์ | อธิบาย |
---|---|
ไฟล์ | ที่จำเป็น. ระบุไฟล์ที่เปิดอยู่ที่จะล็อคหรือปล่อย |
ล็อค | ที่จำเป็น. ระบุประเภทการล็อคที่จะใช้ ค่าที่เป็นไปได้: LOCK_SH - ล็อคที่ใช้ร่วมกัน (โปรแกรมอ่าน) อนุญาตให้กระบวนการอื่นเข้าถึงไฟล์ LOCK_EX - ล็อคพิเศษ (การเขียนโปรแกรม) ป้องกันไม่ให้กระบวนการอื่นเข้าถึงไฟล์ LOCK_UN - ปลดล็อคการแชร์หรือเอกสิทธิ์เฉพาะบุคคล LOCK_NB - หลีกเลี่ยงการบล็อกกระบวนการอื่นเมื่อถูกล็อค |
ปิดกั้น | ไม่จำเป็น. หากตั้งค่าเป็น 1 จะบล็อกกระบวนการอื่นๆ ในขณะที่ล็อก |
หมายเหตุ: การล็อคเหล่านี้ใช้เฉพาะภายในกระบวนการ PHP ปัจจุบันเท่านั้น หากการอนุญาตอนุญาต กระบวนการอื่นสามารถแก้ไขหรือลบไฟล์ที่ล็อค PHP ได้
หมายเหตุ: flock() จำเป็นสำหรับ Windows
เคล็ดลับ: คุณสามารถปล่อยการดำเนินการล็อคผ่าน fclose() ซึ่งจะถูกเรียกโดยอัตโนมัติเมื่อการดำเนินการสคริปต์เสร็จสิ้น
<?php$file = fopen("test.txt", "w+"); // Exclusive lockif (flock($file,LOCK_EX)) { fwrite($file,"Write someone"); // ปล่อยล็อคฝูง( $file,LOCK_UN); }else { echo "เกิดข้อผิดพลาดในการล็อคไฟล์!"; }fclose($file);?>