나는 file()을 사용하여 탭이있는 배열과 같은 파일을 읽습니다. 파일을 잠그고 싶지만 파일에 대해 flock()을 수행 할 수 없습니다. 이것을 할 수 있습니까? 그렇다면 어떻게? 그렇지 않은 경우 file()이 파일을 처음부터 잠그고 잠재적 인 공유 문제를 완화합니까?file()은 읽을 때 파일을 잠근다?
3
A
답변
4
the documentation (특히 주석)에 따르면 flock
을 통해 잠긴 파일을 읽지 않습니다.
두 가지 대안이 있습니다.
$f = fopen($file, 'r');
flock($f, LOCK_SH);
$data = array();
while ($row = fgets($f)) {
$data[] = $row;
}
flock($f, LOCK_UN);
fclose($f);
가 file()
사용하여 파일을 읽고 별도의 "잠금 파일"을 사용 :
(오류 검사없이)
fgets
으로 파일을 읽어$f = fopen($file . '.lock', 'w'); flock($f, LOCK_SH); $data = file($file); flock($f, LOCK_UN); fclose($f); unlink($file . '.lock');
+0
완벽한 감사합니다! –
관련 문제
- 1. Tie :: File은 파일을 느리게로드합니까?
- 2. XmlTextReader - 파일을 잠근다?
- 3. 파일을 읽을 때 java.lang.NullPointerException이 발생했습니다.
- 4. jsp에서 브라우저에서 파일을 읽을 때
- 5. RubyMine이 파일을 읽을 때 일부 파일을 무시합니다.
- 6. Wifi는 잠근 채로 잠근다.
- 7. StreamReader를 사용하여 파일을 읽을 때 파일 인코딩
- 8. 파이썬을 사용하여 로그 파일을 읽을 때
- 9. 속성 파일을 읽을 때 Android GUI에서 깜박임
- 10. 원격 파일을 읽을 때 시간 초과 처리
- 11. 파일을 읽을 때 마지막 줄 바꿈 유지
- 12. 문자가 임시 파일을 읽을 때 추가되었습니다.
- 13. 텍스트 파일을 읽을 때 문제가 발생했습니다.
- 14. 소켓의 End Of File은 무엇을 의미합니까?
- 15. ExtAudioFile 읽기로 오디오 파일을 읽을 때 연속적으로 오디오 파일을 읽을 수 있습니까?
- 16. XML 파일이 불어로 된 XML 파일을 읽을 때 데이터 세트로 XML 파일을 읽을 수 없습니다.
- 17. 파일을 읽을 수 있습니까?
- 18. saxParser 파일을 읽을 수 없습니다
- 19. 멀티 스레딩을 사용하여 파일을 읽을 때 동기 및 비동기 작업
- 20. 스칼라에서 파일을 읽을 때 첫 줄을 어떻게 건너 뛰겠습니까?
- 21. 저장 파일을 읽을 때 텍스트 서식을 관리하는 방법은 무엇입니까?
- 22. OleDB로 텍스트 파일을 읽을 때 CR을 올바르게 처리하는 방법
- 23. AJAX가 텍스트 파일을 읽을 때 \ n \ t 무시하는 방법은 무엇입니까?
- 24. C++에서 csv 파일을 읽을 때 NaN을 처리하는 방법
- 25. WinDbg로 덤프 파일을 읽을 때 0x80004005 오류가 발생했습니다.
- 26. 파이썬에서 csv 파일을 읽을 때 열 머리글을 정의하는 방법
- 27. Google지도 검색에서 json 파일을 읽을 때 문제가 발생했습니다.
- 28. 어디서 파일을 읽을 수 있습니까?
- 29. 사용중인 파일을 단순히 '읽을 수'있습니까?
- 30. BlobStore에서 파일을 읽을 수 없습니다.
수 여기에서 달성하고자하는 것을 설명하는 코드 샘플을 제공합니까? 어떤 파일 시스템을 사용합니까? – Gajahlemu