PHP에서 텍스트 파일 읽기

Subodh Poudel 2023년1월30일
  1. fgets() 함수를 사용하여 PHP에서 한 줄씩 텍스트 파일 읽기
  2. PHP에서 file() 함수를 사용하여 한 줄씩 텍스트 파일 읽기
  3. PHP에서 file_get_contents()explode() 함수를 사용하여 한 줄씩 파일 읽기
PHP에서 텍스트 파일 읽기

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

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

fgets() 함수를 while 루프와 함께 사용하여 PHP에서 텍스트 파일을 한 줄씩 읽을 수 있습니다. 이 함수는 줄이 있으면 줄을 반환하고 더 이상 읽을 줄이 없으면 false를 반환합니다. 두 개의 매개변수가 필요합니다. 구문은 다음과 같습니다.

fgets($file, $length)

여기에서 $file은 성공적으로 열린 파일을 가리키는 파일 포인터와 유사합니다. $length 옵션(선택 사항)은 읽을 바이트 수를 나타냅니다.

open() 함수를 사용하여 파일을 읽은 다음 while 루프를 사용하여 fgets() 함수로 각 줄을 반복할 수 있습니다. 다음 내용을 포함하는 텍스트 파일 abc.txt가 있습니다.

Hi
How are you
Have a great day 

예를 들어, $txt_file 변수를 만들고 그 안에 fopen() 함수를 작성합니다. r 모드에서 abc.txt 파일을 엽니다. 라인 카운터 변수 $a를 만들고 값 1을 할당합니다. 그런 다음 while 루프를 만듭니다. 루프의 괄호 안에 $text_file을 매개변수로 사용하여 fgets() 함수를 작성합니다. 루프의 $line 변수에 함수를 할당합니다. $line 변수를 인쇄하고 루프 본문 내부의 $a 변수와 연결합니다. $a 변수를 증가시키고 루프 외부에서 fclose() 함수를 사용하여 파일 스트림을 닫습니다.

예제 코드:

<?php
$txt_file = fopen('abc.txt','r');
$a = 1;
while ($line = fgets($txt_file)) {
 echo($a." ".$line)."<br>";
 $a++;
}
fclose($txt_file);
?>

출력:

1 Hi 
2 How are you 
3 Have a great day

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

file() 함수는 전체 파일을 배열로 읽습니다. file() 함수의 구문은 다음과 같습니다.

file($filename, $flag, $context)

여기서 $filename은 읽을 파일 경로입니다. $flag 옵션은 선택 사항이며 FILE_USE_INCLUDE_PATH, FILE_IGNORE_NEW_LINESFILE_SKIP_EMPTY_LINES와 같은 다양한 상수로 구성됩니다. 세 번째 것도 선택 사항으로 컨텍스트 리소스를 정의합니다.

file() 함수는 배열이 존재하는 경우 전체 배열을 반환하거나 false를 반환합니다. 함수를 사용하여 foreach() 함수의 helo를 사용하여 파일 컨텍스트를 한 줄씩 읽을 수 있습니다. foreach() 함수는 전체 내용을 반복하고 각 줄을 개별적으로 추출합니다.

예를 들어, 변수 $txt_file에 파일 경로를 저장합니다. 변수 $lines를 작성하고 $txt_file을 매개변수로 사용하여 file() 함수를 저장합니다. 다음으로 foreach() 함수를 사용하여 파일 내용을 반복합니다. $lines를 반복자로 사용하고 $num=>$line을 값으로 사용합니다. 루프 본문 내에서 $num$line 변수를 인쇄합니다.

예제 코드:

$txt_file = 'abc.txt';

$lines = file($txt_file);
foreach ($lines as $num=>$line)
{
 echo 'Line '.$num.': '.$line.'<br/>';
}

출력:

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day

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

file_get_contents() 함수는 전체 파일을 문자열로 읽습니다. 내용이 존재하거나 false를 반환하는 경우 전체 파일을 문자열로 반환합니다. 파일 경로를 함수의 매개변수로 지정할 수 있습니다. explode() 함수는 구분 기호를 사용하여 문자열을 배열로 분할합니다. explode() 함수의 구문은 다음과 같습니다.

explode(separator, $string, $limit)

separator 옵션은 $string$limit 요소 수로 구분하고 값을 반환하는 데 사용됩니다. file_get_contents(), explode()foreach() 함수를 결합하여 PHP에서 텍스트 파일을 한 줄씩 읽을 수 있습니다.

예를 들어 $contents 변수를 만들고 매개변수에 파일 경로를 사용하여 file_get_contents() 함수를 작성합니다. \n 문자를 구분 기호로, $contents를 문자열로 사용하여 explode() 함수를 사용하십시오. 함수를 $lines 변수에 할당합니다. foreach 루프를 사용하여 $lines$line으로 루프합니다. 그런 다음 루프 본문 내부에 $line을 인쇄합니다.

아래 예에서 $contents 변수는 문자열을 반환합니다. \n 개행 문자가 있는 배열로 분할하고 루프를 사용하여 각 행을 인쇄했습니다.

예제 코드:

$contents=file_get_contents("abc.txt");
$lines=explode("\n",$contents);
foreach($lines as $line){
 echo $line.'<br>';

}

출력:

Hi 
How are you 
Have a great day
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn