>  기사  >  백엔드 개발  >  PHP 파일 잠금 쓰기

PHP 파일 잠금 쓰기

巴扎黑
巴扎黑원래의
2016-11-21 11:54:561419검색

멀티 스레드 쓰기를 다루는 PHP 파일 쓰기 방법:

Php 코드

function file_write($file_name, $text, $mode='a', $timeout=30){  
    $handle = fopen($file_name, $mode);  
    while($timeout>0){  
        if ( flock($handle, LOCK_EX) ) {  
            $timeout--;  
            sleep(1);  
        }  
    }  
    if ( $timeout > 0 ){  
        fwrite($handle, $text.'\n');  
        flock($handle, LOCK_UN);  
        fclose($handle);  
        return true;  
    }  
    return false;  
}

flock(int $handle, int $Operation) 함수에서 작동하는 핸들은 다음과 같아야 합니다. 이미 열려 있는 파일에 대한 포인터입니다.

작업은 다음 값 중 하나일 수 있습니다.

공유 잠금(읽는 프로그램)을 얻으려면 작업을 LOCK_SH로 설정합니다(PHP 4.0.1 이전 버전에서는 1로 설정). .

배타적 잠금(프로그램 작성)을 얻으려면 작업을 LOCK_EX로 설정합니다(PHP 4.0.1 이전 버전에서는 2로 설정).

잠금(공유 또는 배타적)을 해제하려면 작업을 LOCK_UN으로 설정합니다(PHP 4.0.1 이전 버전에서는 3으로 설정).

lock()이 잠겨 있을 때 차단되지 않도록 하려면 작업에 LOCK_NB를 추가하세요(PHP 4.0.1 이전 버전에서는 4로 설정).


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP 문 배우기다음 기사:PHP 문 배우기