English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 교재

PHP 고급 교재

PHP & MySQL

PHP 참조 가이드

PHP flock() 함수 사용법 및 예제

    PHP 파일 시스템 참조 가이드

flock() 함수는 파일을 잠금하거나 해제할 수 있으며, 성공 시 true를 반환하고, 실패 시 false를 반환합니다.

문법

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock() 함수는 간단한 읽기자를 실행할 수 있도록 합니다/쓰기자 모델, 이 모델은 거의 모든 플랫폼에서 사용할 수 있습니다.

주석 및 힌트

주석: 이 잠금은 현재 PHP 프로세스에서만 사용됩니다. 권한이 허용되면 다른 프로세스가 PHP 잠금된 파일을 수정하거나 삭제할 수 있습니다.-잠금된 파일
주석: flock()는 Windows에서 필수적입니다.
힌트: fclose()를 통해 잠금 작업을 해제할 수 있으며, 스크립트 실행이 완료되면 자동으로 잠금 작업이 호출됩니다.

파라미터

파라미터설명
handle
필수. 잠금하거나 해제할 열린 파일을 지정합니다.
operation
필수. 사용할 잠금 유형을 지정합니다.

가능한 값:

  • LOCK_SH - 공유 잠금(읽기 프로그램). 다른 프로세스가 파일에 접근할 수 있습니다.

  • LOCK_EX - 단독 잠금(쓰기 프로그램). 다른 프로세스가 파일에 접근하지 못하게 합니다.

  • LOCK_UN - 공유 잠금 또는 단독 잠금 해제

  • LOCK_NB - 잠금 상태에서 다른 프로세스가 블록되는 것을 피합니다.

    이 잠금은 현재 PHP 프로세스에서만 사용되며, 권한이 허용되면 다른 프로세스가 PHP 잠금된 파일을 수정하거나 삭제할 수 있습니다. Windows에서는 이 함수가 필수적입니다. fclose() 함수를 사용하여 잠금 작업을 해제할 수 있으며, 스크립트 실행이 완료되면 자동으로 잠금 작업이 호출될 수 있습니다.

wouldblock
선택 사항. 설정되면 1그럼 파일 잠금 시 다른 프로세스가 블록됩니다.

온라인 예제

fclock의 단독 잠금 LOCK_EX 사용 예제:

<?php
   $file = fopen("/PhpProject/sample.txt", "w+");
   //단독 잠금
   if(flock($file, LOCK_EX)) {
      fwrite($file, "flock function");
      
       // 잠금 해제
      flock($file, LOCK_UN);
      echo $file;
   } else {
      echo "파일 잠금 중 오류 발생!";
   }
   fclose($file);
?>

PHP 파일 시스템 참조 가이드