직접 입출력
직접 입출력 (Direct IO)
POSIX 표준에 정의된 저수준 직접 입출력 함수를 다루는 확장이에요. 일반적인 파일 스트림 함수보다 더 낮은 수준에서 장치를 직접 제어해야 할 때 사용합니다.
본문
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 |
파일 디스크립터 fd를 offset 바이트 크기로 잘라냄 |
dio_write |
fd에 데이터를 쓰되, length에서 선택적으로 잘라냄 |
이 확장은 리소스 타입(resource)과 사전 정의 상수도 함께 제공하지만, 이 페이지에서 다루는 핵심은 위의 직접 I/O 함수 목록이에요.