직접 입출력

직접 입출력 (Direct IO)

POSIX 표준에 정의된 저수준 직접 입출력 함수를 다루는 확장이에요. 일반적인 파일 스트림 함수보다 더 낮은 수준에서 장치를 직접 제어해야 할 때 사용합니다.

출처: PHP: Direct IO - Manual

본문

PHP는 POSIX 표준(6절)에 기술된 직접 입출력(direct I/O) 함수를 지원합니다. 이것은 C 언어의 스트림 입출력 함수(fopen(), fread() 등)보다 더 낮은 수준에서 I/O 작업을 수행해요.

DIO 함수는 장치를 직접 제어해야 할 때만 사용하는 것이 좋아요. 그 외의 경우에는 표준 파일시스템 함수가 충분하고 오히려 더 적합합니다.

Direct IO 함수

함수 설명
dio_close fd가 가리키는 파일 디스크립터를 닫음
dio_fcntl fd에 대해 C 라이브러리 fcntl 수행
dio_open C 라이브러리 입출력 스트림 함수보다 낮은 수준에서 파일을 열음(필요하면 생성)
dio_read 파일 디스크립터에서 바이트를 읽음
dio_seek fd에서 whence 기준으로 pos 지점으로 이동
dio_stat 파일 디스크립터 fd에 대한 stat 정보 가져옴
dio_tcsetattr 직렬 포트의 터미널 속성과 전송 속도(baud rate) 설정
dio_truncate 파일 디스크립터 fdoffset 바이트 크기로 잘라냄
dio_write fd에 데이터를 쓰되, length에서 선택적으로 잘라냄

이 확장은 리소스 타입(resource)과 사전 정의 상수도 함께 제공하지만, 이 페이지에서 다루는 핵심은 위의 직접 I/O 함수 목록이에요.

더 알아보기