PHP 주요레퍼런스/문자열 처리 함수

fseek

웹 개발자의 비상 2011. 8. 8. 14:07
int fseek(resource handle, int offset [, int whence])
파일 포인터의 위치를 지정한 위치로 바꾼다.

fopen()으로 열린 handle의 포인터를 기준이 되는 whence로 부터 offset 바이트만큼 이동 시킨다.

인자의 값 의미
SEEK_SET 기본, 파일의 처음을 기준으로 offset 바이트만큼 포인트의 위치로 바꾼다.
SEEK_CUR 현재 포인트를 기준으로 offset 만큼 앞으로 이동시킨 위치로 바꾼다.
SEEK_END 파일의 마지막 위치를 기준으로 지정한 offset 바이트 만큼 앞으로 이동시킨 위치로 바꾼다. 이떄 offset은 음수 값이어야 한다.

예제

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

// message.txt 파일의 내용을 출력한다.
while(!feof($fp)) {
echo fgets($fp) . "<br>";
}
/*
He was in time for the last bus.
He goes to his office ever other day.
It is nearly six (o'clock)

일찍일찍 다니자
*/

// 파일 포인터를 다시 파일의 처음 위치로 이동시킨다.
rewind($fp);

// 첫 줄의 데이터를 출력한다.
echo fgets($fp) . "<br>"; //He was in time for the last bus.

// 파일의 처음 위치를 기준으로 지정한 10 바이트만큼 앞으로 이동시킨다.
fseek($fp, 10, SEEK_SET);
echo fgets($fp) . "<br>"; //time for the last bus.

// 파일 포인터의 현재 위치를 기준으로 지정한 5 바이트만큼 앞으로 이동시킨다.
fseek($fp, 5, SEEK_CUR);
echo fgets($fp) . "<br>"; //es to his office ever other day.

// 파일의 마지막 위치를 기준으로 지정한 -5 바이트 수만큼 앞으로 이동시킨다.
fseek($fp, -6, SEEK_END);
echo fgets($fp) . "<br>"; //니자
?>

728x90

'PHP 주요레퍼런스 > 문자열 처리 함수' 카테고리의 다른 글

basename  (0) 2011.08.08
number_format  (0) 2011.08.03
htmlentities  (0) 2011.08.03
htmlspecialchars  (0) 2011.08.02
crypt  (0) 2011.08.02