PHP: PHP Hypertext Preprocessor

Home

PHP Tutorial
Knowledge Developer Database Internet Resource
ไฟล์ และไดเรคทอรี
1. การเปิดและปิดไฟล
2. การเขียนลงไฟล์
3. การอ่านไฟล์
4. ฟังก์ชันไฟล์อื่นที่มีประโยชน์
5. การล็อกไฟล์
6. การเข้าถึงไดเรคทอรี
7. การทำงานกับแม่ข่าย
8. การเปลี่ยนทิศทางเพจ
 
PHP เบื้องต้น
1. เริ่มต้นด้วย PHP
2. ภาษา PHP
3. การทำงานไฟล์ และไดเรคทอรี
4. การทำงานกับ Array
5. การควบคุมข้อความ และนิพจน์ปกติี่
6. คำสั่งใช้ใหม่และฟังก์ชัน
7. Object Oriented Programming
 
PHP
PHP เบื้องต้น
การสร้างโปรแกรมประยุกต์เว็บ
PHP ระดับสูง
 
Internet
PHP
SSI
HTML
AJAX
 
PHP เบื้องต้น > การทำงานไฟล์ และไดเรคทอรี

การล็อกไฟล์

การล็อกไฟล์ PHP ใช้ฟังก์ชัน flock ฟังก์ชันที่ควรเรียกหลังจากไฟล์ได้รับการเปิด แต่ก่อนข้อมูลได้รับการอ่านหรือเขียนลงไฟล์
ไวยากรณ์สำหรับ flock () คือ
bool flock (int fp, int operation);

จำเป็นต้องส่งผ่านพอยเตอร์ไปยังไฟล์ที่เปิด และ หมายเลขแสดงชนิดการล็อกที่ต้องการ ส่งออก TRUE ถ้า ล็อกไฟล์ได้ และ FALSE ถ้าล็อกไม่ได้

ค่าที่ใช้ของการทำงาน แสดงในตาราง 1.3.2

ตาราง 1.3.2  ค่าการทำงาน flock ()

ค่าการทำงาน ความหมาย

1

ล็อกการอ่าน หมายความว่าสามารถใช้ร่วมกันกับผู้อ่านอื่น

2

ล็อกการเขียน นี่เป็นการกีดกันไฟล์ไม่สามารถใช้ร่วมได้

3

ปล่อยการล็อก

+4

บวก 4 กับการทำงานป้องกันการขัดขวางขณะที่พยายามล็อก

ถ้าใช้ flock () จำเป็นต้องเพิ่มให้กับสคริปต์ทั้งหมดที่ใช้ไฟล์นี้

ตัวอย่างการใช้  flock () โดยเพิ่มใน processorder.php
$fp = fopen("$DOCUMENT_ROOT/../../orders/orders.txt", "a", 1);
flock($fp, 2);
fwrite($fp, $outputstring);
flock($fp, 3);
fclose($fp);

คำสั่งนี้เข็มแข็งขึ้นแต่ยังไม่สมบรูณ์ ถ้า 2 สคริปต์พยายามล็อกในเวลาเดียวกัน จะเกิดอะไรขึ้น? ผลลัพธ์ขึ้นกับเงื่อนไขแข่งขัน จากการประมวลผลแข่งขันกับล็อกแต่ไม่แน่นอนด้านความสำเร็จที่จะเป็นสาเหตุของปัญหามากขึ้น ระบบจัดการฐานข้อมูลสามารถทำได้ดีกว่า


  

สงวนลิขสิทธิ์ (C) widebase / Julaphak