PHP에서 한 줄씩 큰 파일을 읽는 방법

Minahil Noor 2023년1월30일
  1. fgets()함수를 사용하여 PHP에서 한 줄씩 큰 파일 읽기
  2. file()함수를 사용하여 PHP에서 한 줄씩 큰 파일 읽기
  3. stream_get_line()함수를 사용하여 PHP에서 한 줄씩 큰 파일 읽기
PHP에서 한 줄씩 큰 파일을 읽는 방법

이 기사에서는 PHP에서 한 줄씩 큰 파일을 읽는 방법을 소개합니다.

  • fgets()함수 사용
  • file()함수 사용
  • stream_get_line()함수 사용

fgets()함수를 사용하여 PHP에서 한 줄씩 큰 파일 읽기

내장 함수 fgets()는 열린 파일에서 한 줄을 읽습니다. 이 함수를 사용하여 큰 파일을 한 줄씩 읽을 수 있습니다. 이 함수를 사용하기위한 올바른 구문은 다음과 같습니다.

fgets($fileName, $lengthOfFile);

fgets()함수에는 두 개의 매개 변수가 있습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$fileName 필수 한 줄씩 읽고 싶은 파일입니다.
$lengthOfFile 선택 과목 읽을 파일의 길이를 알려줍니다. 기본값은 1024 바이트입니다.

이 함수는 성공하면 사용자가 지정한 파일에서lengthOfFile -1string을 반환합니다. 실패하면 False를 반환합니다.

아래 프로그램은fgets()함수를 사용하여 한 줄씩 큰 파일을 읽는 방법을 보여줍니다. fopen()fclose() 함수는 각각 파일을 열고 닫습니다. 꽃의 세부 사항이 포함 된flowers.txt라는 텍스트 파일이 있습니다.

<?php 
if ($file = fopen("flowers.txt", "r")) {
    while(!feof($file)) {
        $line = fgets($file);
       echo ("$line");
    }
    fclose($file);
}   
?> 

feof() 함수를 사용하여 끝까지 파일을 읽었습니다. 출력은 한 줄씩 읽은 파일의 내용을 보여줍니다.

출력:

PHP에서 한 줄씩 큰 파일을 읽는 fgets 함수

file()함수를 사용하여 PHP에서 한 줄씩 큰 파일 읽기

PHP에서는 file() 함수를 사용하여 한 줄씩 파일을 읽을 수도 있습니다. file()함수는 파일을 한 줄씩 배열로 읽어들입니다. 이 함수를 사용하는 올바른 구문은 다음과 같습니다.

file($fileName, $flags, $context)

file()함수는 세 개의 매개 변수를받습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$fileName 필수 파일이 저장되는 경로입니다.
$flags 선택 과목 이 함수의 플래그로 사용할 수있는 상수에 대해 알려줍니다. 여기에서 읽을 수 있습니다.
$context 선택 과목 stream_context_create() 함수를 사용하여 생성 할 수있는 리소스입니다.

file()함수를 사용하여 파일을 읽는 프로그램은 다음과 같습니다.

<?php 
foreach(file('flowers.txt') as $line) {
   echo $line. "\n";
} 
?> 

stream_get_line()함수를 사용하여 PHP에서 한 줄씩 큰 파일 읽기

stream_get_line() 함수를 사용하여 한 줄씩 파일을 읽을 수도 있습니다. 이 함수는 구분 기호까지 파일을 읽습니다. 이 함수를 사용하는 올바른 구문은 다음과 같습니다.

stream_get_line($handle, $length, $ending)

stream_get_line()함수는 3 개의 매개 변수를받습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$handle 필수 파일이 저장되는 경로입니다.
$length 필수 읽을 파일의 길이에 대해 알려줍니다.
$ending 필수 구분 기호에 대해 알려주는 문자열입니다.

stream_get_line()함수를 사용하여 파일을 읽는 프로그램은 다음과 같습니다.

<?php 
$file = fopen("flowers.txt", "r+");
while ($line = stream_get_line($file, 1024 * 1024, ".")) {
  echo $line;
}
fclose($file);
?> 

출력:

stream_get_line (PHP에서 한 줄씩 큰 파일을 읽는 함수

노트
구분 기호.가 출력에서 ​​제거됩니다.

관련 문장 - PHP File