[php]fgets

PHP의 fgets 함수

fgets 함수는 파일 포인터에서 한 줄씩 문자열을 읽어옵니다. 파일을 한 줄씩 처리해야 할 때 유용하며, 파일 포인터는 읽은 줄 다음으로 이동합니다. 읽어온 문자열에는 개행 문자(\n)가 포함됩니다.

fgets 함수의 사용 예시:

$filename = 'example.txt';
$file = fopen($filename, 'r');

if (!$file) {
    die("Error opening file");
}

while (($line = fgets($file)) !== false) {
    // 줄 처리
    echo $line;
}

fclose($file);

다른 함수와 함께 사용하는 예시:

  1. feof 함수와 함께 사용하기 (파일의 끝까지 줄 단위로 읽기):
$filename = 'example.txt';
$file = fopen($filename, 'r');

if (!$file) {
    die("Error opening file");
}

while (!feof($file)) {
    $line = fgets($file);
    // 줄 처리
    echo $line;
}

fclose($file);
  1. file 함수와 함께 사용하기 (파일의 모든 줄을 배열로 읽기):
$filename = 'example.txt';
$lines = file($filename, FILE_IGNORE_NEW_LINES);

foreach ($lines as $line) {
    // 줄 처리
    echo $line;
}

조건문과 반복문과 함께 사용하는 예시:

$filename = 'example.txt';
$file = fopen($filename, 'r');

if (!$file) {
    die("Error opening file");
}

$targetKeyword = 'apple';
$found = false;

while (($line = fgets($file)) !== false) {
    // 특정 키워드가 포함되어 있는지 확인
    if (strpos($line, $targetKeyword) !== false) {
        $found = true;
        break;
    }
}

fclose($file);

if ($found) {
    echo "Keyword '$targetKeyword' found!";
} else {
    echo "Keyword '$targetKeyword' not found.";
}

성능 향상을 위한 팁:

  1. fgets 함수를 사용할 때는 가능하면 버퍼 크기를 지정하여 한 번에 많은 데이터를 읽어오는 방법을 고려해야 합니다. fread 함수를 사용하여 지정한 바이트 수만큼 읽어올 수 있습니다.

  2. 큰 파일을 처리할 때는 메모리 사용을 최적화하기 위해 가능하면 한 줄씩 또는 더 큰 덩어리로 읽어오는 방법을 사용하는 것이 성능 향상에 도움이 됩니다.


게시됨

카테고리

,

작성자