fgets 함수
(PHP 4, PHP 5, PHP 7, PHP 8)
fgets — 파일 포인터에서 라인 가져오기
설명
fgets(resource $stream
, ?int $length
= null
): string|false
파일 포인터에서 한 줄을 가져옵니다.
매개변수
stream
- 파일 포인터는 유효해야 하며 fopen() 또는 fsockopen()에 의해 성공적으로 열린 파일을 가리켜야 합니다(아직 fclose()에 의해 닫히지 않음).
length
length
- 1바이트를 읽거나 개행(반환 값에 포함됨) 또는 EOF(둘 중 먼저 도래하는 것)가 읽히면 읽기가 종료됩니다. 길이를 지정하지 않으면 줄 끝에 도달할 때까지 스트림에서 계속 읽습니다.
반환 값
stream
이 가리키는 파일에서 읽은 최대 length
- 1바이트의 문자열을 반환합니다. 파일 포인터에서 읽을 데이터가 더 이상 없으면 false
가 반환됩니다.
오류가 발생하면 false
가 반환됩니다.
Examples
예제 #1 파일을 한 줄씩 읽기
<?php
$fp = @fopen("/tmp/inputfile.txt", "r");
if ($fp) {
while (($buffer = fgets($fp, 4096)) !== false) {
echo $buffer;
}
if (!feof($fp)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($fp);
}
?>
메모
참고: Macintosh 컴퓨터에서 파일을 읽거나 Macintosh 컴퓨터에서 생성한 파일을 읽을 때 PHP가 줄 끝을 제대로 인식하지 못하는 경우 auto_detect_line_endings 런타임 구성 옵션을 활성화하면 문제를 해결하는 데 도움이 될 수 있습니다.
참고: fgets()의 'C' 의미 체계에 익숙한 사람들은 EOF가 반환되는 방식의 차이에 주목해야 합니다.
기타
- fgetss() - 파일 포인터에서 줄을 가져오고 HTML 태그를 제거합니다.
- fread() - 바이너리 안전 파일 읽기
- fgetc() - 파일 포인터에서 문자 가져오기
- stream_get_line() - 스트림 리소스에서 지정된 구분 기호까지 줄을 가져옵니다.
- fopen() - 파일 또는 URL을 엽니다.
- popen() - 프로세스 파일 포인터를 엽니다.
- fsockopen() - 인터넷 또는 Unix 도메인 소켓 연결 열기
- stream_set_timeout() - 스트림에 시간 초과 기간 설정