>  기사  >  백엔드 개발  >  PHP 함수 소개—fgets(): 파일에서 한 줄 읽기

PHP 함수 소개—fgets(): 파일에서 한 줄 읽기

WBOY
WBOY원래의
2023-07-25 14:53:072112검색

PHP 함수 소개—fgets(): 파일에서 한 줄 읽기

PHP에서 파일을 읽는 것은 매우 일반적인 작업입니다. fgets() 함수는 파일에서 한 줄씩 데이터를 읽는 데 도움이 될 수 있습니다. 이 기능은 특히 대용량 텍스트 파일을 처리해야 할 때 매우 유용합니다. 이 기사에서는 fgets() 함수의 사용법을 소개하고 독자가 이 함수의 기능과 사용법을 더 잘 이해할 수 있도록 몇 가지 코드 예제를 제공합니다.

fgets() 함수의 기본 구문은 다음과 같습니다.
string fgets (resource $handle, int $length)

매개변수 분석:

  • $handle: 파일 리소스, fopen() 함수.
  • $length: 파일에서 읽을 최대 바이트 수를 지정하는 선택적 매개변수입니다. 기본값은 1024바이트입니다.

예제 코드 1: 기본 사용법
다음 내용이 포함된 example.txt 텍스트 파일이 있다고 가정합니다.

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

각 줄을 읽고 페이지에 표시하려고 합니다. 코드는 다음과 같습니다.

$handle = fopen("example.txt", "r");

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        echo $line . "<br>";
    }
    fclose($handle);
} else {
    echo "无法打开文件";
}

프로그램은 먼저 fopen() 함수를 사용하여 example.txt 파일을 열고 반환된 파일 리소스를 $handle 변수에 저장합니다. 그런 다음 while 루프에서 fgets() 함수를 사용하여 한 번에 한 줄씩 읽고 이를 $line 변수에 할당한 다음 페이지에 출력합니다. 마지막으로 fclose() 함수를 사용하여 파일을 닫습니다.

위 코드를 실행하면 출력은 다음과 같습니다.

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

샘플 코드 2: 읽는 바이트 수 제한
어떤 경우에는 파일의 처음 몇 바이트만 읽어야 하거나 그냥 읽어야 할 수도 있습니다. 한 줄에 고정된 바이트 수. fgets() 함수의 두 번째 매개변수 $length를 사용하면 읽는 바이트 수를 제한할 수 있습니다. 예를 들어, 각 줄의 처음 10바이트만 읽으며 코드는 다음과 같습니다.

$handle = fopen("example.txt", "r");

if ($handle) {
    while (($line = fgets($handle, 10)) !== false) {
        echo $line . "<br>";
    }
    fclose($handle);
} else {
    echo "无法打开文件";
}

이 코드는 fgets() 함수 호출에 두 번째 매개변수 10을 추가합니다. 이는 매번 10바이트만 읽힌다는 의미입니다. . 실행 결과는 다음과 같습니다.

Lorem ipsu
consectetu
sed do eiu
ut labore 

샘플 코드 3: 한 줄씩 데이터를 읽고 처리합니다
페이지에 직접 출력하는 것 외에도 각 줄의 데이터를 추가로 처리할 수도 있습니다. 예를 들어, 파일의 각 줄에 있는 문자 수를 계산하고 그 결과를 배열에 저장하려면 코드는 다음과 같습니다.

$handle = fopen("example.txt", "r");
$result = [];

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        $lineLength = strlen($line);
        $result[] = $lineLength;
    }
    fclose($handle);
} else {
    echo "无法打开文件";
}

print_r($result);

이 코드는 strlen() 함수를 사용하여 파일의 각 줄에 있는 문자 수를 계산합니다. 각 루프를 실행하고 결과를 $result 배열에 저장합니다. 마지막으로 print_r() 함수를 사용하여 배열의 내용을 출력합니다. 실행 결과는 다음과 같습니다.

Array
(
    [0] => 28
    [1] => 28
    [2] => 30
    [3] => 24
)

Summary
fgets() 함수는 파일에서 한 줄씩 데이터를 읽는 데 도움이 되는 매우 유용한 함수입니다. 사용이 매우 간단하고 기본 구문도 이해하기 쉽습니다. 이 함수를 사용하여 파일의 각 줄을 읽고 페이지에 출력, 문자 수 계산 등과 같은 추가 처리를 수행할 수 있습니다. fgets() 함수를 마스터하고 유연하게 사용하면 대용량 텍스트 파일을 보다 편리하게 처리할 수 있습니다.

위 내용은 PHP 함수 소개—fgets(): 파일에서 한 줄 읽기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.