PHP 주요레퍼런스/파일 시스템 함수

fgets

웹 개발자의 비상 2011. 8. 6. 09:38
bool fgets(resource handle [, int length])
파일로부터 지정한 크기만큼의 데이터를 가져온다.

fopen()으로 열린 handle의 데이터를 한줄씩 가져와 반환한다. 이 과정에서 오류가 발생할 경우 FALSE를 반환한다.
length는 파일포인터 시작을 0으로 length번 데이터를 가르키며 lenght를 지정하면 length번 문자까지 가져와 반환한다.

예제

<?
$fp = fopen("message.txt", "r");
if(!$fp) {
die("파일 열기 실패");
}

// 파일로부터 9 바이트의 데이터를 가져와 반환한다.
$str = fgets($fp, 10);
echo "[" . $str . "]"; //[He was in]

fclose($fp);
?>


한편 feof()와 함께 사용하면 데이터를 한 줄씩 가져올 때 유용하게 사용할 수 있다.

예제

<?
$fp = fopen("message.txt", "r");
if(!$fp) {
die("파일 열기 실패");
}

while(!feof($fp)) { // 파일로 부터 한 줄씩 데이터를 가져온다.
$line = fgets($fp);
echo $line;
}

fclose($fp);
/*
He was in time for the last bus.
He goes to his office ever other day.
It is nearly six (o'clock)

일찍일찍 다니자
*/
?>

fread()와 유사하지만 fread() 지정한 크기의 데이터만을 가져올때 유용하며 fgets()는 주로 데이터를 한 줄씩 가져올때 사용한다.

728x90

'PHP 주요레퍼런스 > 파일 시스템 함수' 카테고리의 다른 글

fpassthru  (0) 2011.08.06
readfile  (0) 2011.08.06
feof  (0) 2011.08.06
fwrite / fputs  (0) 2011.08.06
fread  (0) 2011.08.06