2014-11-16 9 views
1

좋아, 내가 PHP를 처음 접했고 PHP에서 파일에 쓸 때 파일을 열고 flock ($ fp, LOCK_EX)을 사용한 다음 flock ($ fp, LOCK_UN)을 닫아야합니다 파일. 이처럼 : PHP로 파일을 읽을 때 flock을 사용해야합니까?

$fp = fopen("$DOCUMENT_ROOT/order.txt", 'ab'); 
flock($fp, LOCK_EX); 
fwrite($fp, $outputstring, strlent($outputstring)); 
flock ($fp, LOCK_UN); 
fclose($fp); 

그러나 저자가 무리를 넣어 잊었()하거나 무리를 넣어 필요하지 않은 나는 확실하지 않다 파일을 읽는 방법의 다른 예

() 파일을 읽을 때. 다음은 그 예입니다.

$fp = fopen("$DOCUMENT_ROOT/order.txt", 'rb'); 
while (!feof($fp)) 
{ 
    $order = fgets($fp, 999) 
    echo $order."<br/>"; 
} 
fclose($fp); 

두 번째 예에서 flock()을 사용해야하나요 그렇지 않습니까?

미리 감사드립니다.

답변

2

동시에 여러 파일에 액세스하는 프로세스가있을 경우 flock 만 사용하면됩니다.

파일에 쓰는 코드가 언제든지 하나의 복사본 만 실행하려고한다면 flock을 사용할 필요가 없을 것입니다. 그러나 여러 프로세스가 동시에 코드를 실행하고 (따라서 파일에 액세스 할 수있는 경우) flock을 사용하여 한 번에 하나씩 처리해야합니다.

+0

안녕하세요 다니엘이 도와 주셔서 감사합니다. 이제 알겠다. –