PHP 파일 잠금 메커니즘LOGIN

PHP 파일 잠금 메커니즘

파일 잠금 메커니즘은 일반적으로 단일 파일을 열 때 전혀 효과가 없습니다. 학습의 이 부분은 약간 추상적입니다.

어떻게 달성할지 고민이 되시나요?

왜 효과를 볼 수 없나요?
답변: 컴퓨터는 기본적으로 밀리초 수준으로 매우 빠르게 작동하기 때문입니다. 따라서 이 실험은 실제로 아무런 효과가 없습니다.

이 장에서는 파일 잠금의 기본 개념을 이해하고 파일 잠금 기능과 잠금 메커니즘에 익숙해집니다.

파일 잠금 사용:

한 사람이 파일을 쓰고 있으면 다른 사람도 파일을 열어서 파일을 씁니다.
이 경우 어느 정도 충돌 가능성이 있다면 누구의 작전이 승리할지 모르겠습니다.
그래서 이번에는 잠금 장치를 소개합니다.
사용자 A가 이 파일을 쓰거나 읽는 경우 파일을 공유에 추가합니다. 나는 그것을 읽을 수 있고 다른 사람들도 읽을 수 있습니다.
그러나 만약 그렇다면. 전용 자물쇠를 사용하고 있습니다. 이 파일은 제가 파일 잠금을 해제하지 않는 한 제 것입니다.

참고: 파일 잠금 추가 여부에 관계없이 잠금을 해제할 때 주의하세요.

이 기능을 살펴보겠습니다:

bool Flock(resource $handle, int $Operation)

기능: 경량 권고 파일 잠금

잠금 종류를 살펴보겠습니다:

锁类型说明
LOCK_SH取得共享锁定(读取的程序)
LOCK_EX取得独占锁定(写入的程序
LOCK_UN释放锁定(无论共享或独占)

demo.txt에 전용 잠금을 추가하고 쓰기 작업을 수행하겠습니다.

<?php

$fp = fopen("demo.txt", "r+");

// 进行排它型锁定
if (flock($fp, LOCK_EX)) { 

   fwrite($fp, "文件这个时候被我独占了哟\n");

  // 释放锁定
   flock($fp, LOCK_UN);    
} else {
   echo "锁失败,可能有人在操作,这个时候不能将文件上锁";
}

fclose($fp);

?>

설명:

1. 위의 예에서는 파일을 쓰기 위해 파일에 배타적 잠금을 추가했습니다.

2. 나의 작업이 완료되면 글쓰기가 완료된 후 전용 잠금이 해제됩니다.

3. 파일을 읽는 중이라면 동일한 처리 아이디어에 따라 공유 잠금을 추가할 수 있습니다.


다음 섹션
<?php $fp = fopen("demo.txt", "r+"); // 进行排它型锁定 if (flock($fp, LOCK_EX)) { fwrite($fp, "文件这个时候被我独占了哟\n"); // 释放锁定 flock($fp, LOCK_UN); } else { echo "锁失败,可能有人在操作,这个时候不能将文件上锁"; } fclose($fp); ?>
코스웨어