백엔드 개발 PHP 튜토리얼 PHP 함수 소개—fgets(): 파일에서 한 줄 읽기

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

Jul 25, 2023 pm 02:53 PM
기능 fgets 읽다

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으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

golang 함수에서 새 함수를 동적으로 생성하기 위한 팁 golang 함수에서 새 함수를 동적으로 생성하기 위한 팁 Apr 25, 2024 pm 02:39 PM

golang 함수에서 새 함수를 동적으로 생성하기 위한 팁

C++ 함수 이름 지정 시 매개변수 순서에 대한 고려 사항 C++ 함수 이름 지정 시 매개변수 순서에 대한 고려 사항 Apr 24, 2024 pm 04:21 PM

C++ 함수 이름 지정 시 매개변수 순서에 대한 고려 사항

Java로 효율적이고 유지 관리 가능한 함수를 작성하는 방법은 무엇입니까? Java로 효율적이고 유지 관리 가능한 함수를 작성하는 방법은 무엇입니까? Apr 24, 2024 am 11:33 AM

Java로 효율적이고 유지 관리 가능한 함수를 작성하는 방법은 무엇입니까?

Excel 함수 수식의 전체 모음 Excel 함수 수식의 전체 모음 May 07, 2024 pm 12:04 PM

Excel 함수 수식의 전체 모음

C++ 함수 기본 매개변수와 가변 매개변수의 장단점 비교 C++ 함수 기본 매개변수와 가변 매개변수의 장단점 비교 Apr 21, 2024 am 10:21 AM

C++ 함수 기본 매개변수와 가변 매개변수의 장단점 비교

참조 유형을 반환하는 C++ 함수의 이점은 무엇입니까? 참조 유형을 반환하는 C++ 함수의 이점은 무엇입니까? Apr 20, 2024 pm 09:12 PM

참조 유형을 반환하는 C++ 함수의 이점은 무엇입니까?

사용자 정의 PHP 함수와 사전 정의된 함수의 차이점은 무엇입니까? 사용자 정의 PHP 함수와 사전 정의된 함수의 차이점은 무엇입니까? Apr 22, 2024 pm 02:21 PM

사용자 정의 PHP 함수와 사전 정의된 함수의 차이점은 무엇입니까?

C++ 함수에서 참조 매개변수 및 포인터 매개변수의 고급 사용 C++ 함수에서 참조 매개변수 및 포인터 매개변수의 고급 사용 Apr 21, 2024 am 09:39 AM

C++ 함수에서 참조 매개변수 및 포인터 매개변수의 고급 사용

See all articles