rewind
함수
rewind
함수는 PHP에서 파일 포인터를 파일의 시작 지점으로 되돌리는 함수입니다. 이 함수는 파일을 읽거나 쓸 때 파일 포인터를 조작할 때 유용하게 사용됩니다.
사용법:
bool rewind ( resource $handle )
$handle
: 파일 핸들(resource)입니다. 파일을 열고 해당 핸들을 사용하여 파일을 조작합니다.
예제:
$file = fopen('example.txt', 'r');
if ($file) {
// 파일을 읽기 시작 지점으로 되돌림
rewind($file);
// 파일 내용을 읽음
$content = fread($file, filesize('example.txt'));
echo $content;
fclose($file);
}
rewind
함수를 응용한 코드
1. 파일에서 처음 두 줄만 읽어오기
$file = fopen('data.txt', 'r');
if ($file) {
rewind($file);
for ($i = 0; $i < 2; $i++) {
$line = fgets($file);
echo $line;
}
fclose($file);
}
rewind
함수와 다른 함수 사용하여 응용하는 코드
2. 파일에서 특정 문자열을 찾고, 해당 위치부터 다시 읽기
$searchString = 'needle';
$file = fopen('data.txt', 'r');
if ($file) {
while (($line = fgets($file)) !== false) {
if (strpos($line, $searchString) !== false) {
echo 'Found "' . $searchString . '" in: ' . $line . PHP_EOL;
// 파일 포인터를 해당 위치로 되돌림
rewind($file);
// 해당 위치부터 다시 읽기
$content = fread($file, filesize('data.txt'));
echo 'Remaining content after the found line:' . PHP_EOL;
echo $content;
break;
}
}
fclose($file);
}
rewind
함수와 조건문, 반복문 사용하는 샘플 코드
3. 파일에서 특정 단어가 몇 번 등장하는지 세기
$searchWord = 'apple';
$file = fopen('fruits.txt', 'r');
if ($file) {
rewind($file);
$count = 0;
while (($line = fgets($file)) !== false) {
$words = explode(' ', $line);
foreach ($words as $word) {
if (trim($word) === $searchWord) {
$count++;
}
}
}
fclose($file);
echo 'The word "' . $searchWord . '" appears ' . $count . ' times in the file.';
}
성능 향상을 위한 팁
rewind
함수는 파일 포인터를 이동시키는 작업을 수행하기 때문에 반복적인 호출은 성능 저하를 초래할 수 있습니다. 파일을 읽거나 쓸 때에는 최소한으로 파일 포인터를 조작하는 것이 좋습니다.- 대량의 파일을 처리할 때는 파일 I/O 작업을 최소화하여 성능을 향상시킬 수 있습니다. 메모리 캐싱이나 적절한 버퍼링을 고려해야 합니다.