int fseek ( resource $handle , int $offset [, int $whence ] )
(PHP 4, PHP 5)
이 함수는 두 번째 인자와 세 번째 인자에 의해 결정되는 새로운 위치로 이동 시킵니다. offset 인자는 파일의 처음 위치부터 byte 수로 계산되는 값입니다. 성공시 "0"을, 실패시 "-1"를 반환하며, 세 번째 인자는 다음과 같은 상수를 사용합니다.
상 수 | 설 명 |
---|
SEEK_SET | 파일 포인터 첫 위치에서 offset 바이트만큼 위치로 이동합니다. |
---|
SEEK_CUR | 현제 파일 포인터의 위치에서 offset 바이트만큼 위치로 이동합니다. |
---|
SEEK_END | 파일 포인터 마지막 위치에서 offset 바이트만큼 위치로 이동합니다. |
---|
SEEK_END상수는 마지막 위치에서 offset 만큼 바이트 수로 계산되기 때문에 음수를 지정하며, 세 번째 인자를 생략할 경우 SEEK_SET로 간주하여 실행하게 됩니다.
<?php
$file = 'test.txt';
if($fp = fopen($file,'r')){
if(is_resource($fp)){
if($fname = fgets($fp,1024)){
echo $fname."<br />\n");
}
fseek($fp,2);
if($fname = fgets($fp,1024)){
echo $fname ."<br />\n");
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
fseek($fp,3,SEEK_SET);
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
fseek($fp,3,SEEK_CUR);
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
}
fclose($fp);
}
?>
SEEK_END 상수를 사용한 예입니다.
<?php
$file = 'test.txt';
if($fp = fopen($file,'r')){
if(is_resource($fp)){
if($fname = fgets($fp,1024)){
echo $fname."<br />\n");
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n");
}
fseek($fp,-3,SEEK_END);
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
}
fclose($fp);
}
?>
<?php
$file = 'test.txt';
if($fp = fopen($file,'r')){
if(is_resource($fp)){
if($fname = fgets($fp,1024)){
echo $fname."<br />\n");
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n");
}
fseek($fp,-10,SEEK_END);
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
fseek($fp,3,SEEK_SET);
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
if($fname = fgets($fp,1024)){
echo $fname."<br />\n";
}
}
fclose($fp);
}
?>