>  기사  >  백엔드 개발  >  PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

青灯夜游
青灯夜游원래의
2021-08-06 16:11:103814검색

이전 글에서는 전체 파일을 한 번에 읽는 방법에 대해 소개해 드렸는데, 이 방법은 읽은 내용을 문자열로 저장할 수 있는 방법입니다. 관심 있으신 분은 " 모든 데이터 저장 방법"을 클릭하시면 됩니다. php》View에서 파일을 문자열로 변환합니다. 다음에서는 전체 파일을 한 번에 읽는 방법을 계속해서 소개합니다.

이전 기사의 방법은 파일의 전체 내용을 한 줄에 출력합니다. 파일 데이터가 너무 많으면 더 좋습니다. 예:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

file_get_contents( ) 읽고 출력하는 기능:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filestr = file_get_contents($file);
echo $filestr;
?>

출력 결과는

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

입니다. 출력 내용이 읽기에 도움이 되지 않음을 알 수 있습니다. 그렇다면 파일의 전체 내용을 한 줄씩 출력하려면 어떻게 해야 할까요? 배열을 사용할 수 있습니다.

전체 파일을 한 번에 읽고 데이터를 한 줄씩 배열에 저장할 수 있습니다.

다음 코드를 살펴보겠습니다.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
var_dump($filearr);
?>

출력 결과:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

읽기 쉽고 때로는 전체 내용을 읽어야 할 때도 있지만 당분간은 한 줄의 데이터만 있으면 됩니다. 따라서 배열 이름[subscript]를 사용하여 지정된 행의 데이터를 가져올 수 있습니다. 예를 들어, 세 번째 데이터 행을 원하는 경우 다음을 수행할 수 있습니다. 数组名[下标] 的形式来取指定行的数据。例如想要第三行的数据,那么可以:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
echo $filearr[2];  //数组下标是从0开始的
?>

输出结果:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

下面我们来了解一下里面的关键函数file()

file($filename,$flags,$context)函数接受一个必需参数$filename(要读取的文件),两个可省略的参数$flags$context(文件句柄的环境)。

但一般还是会设置$flags参数的,该参数可以是以下一个或多个常量:

  • FILE_USE_INCLUDE_PATH:在 include_path (在 php.ini 中)中查找文件,默认为 FALSE;如果想,则设置参数值为 '1'。

  • FILE_IGNORE_NEW_LINES:在数组每个元素的末尾不要添加换行符;

  • FILE_SKIP_EMPTY_LINES:跳过空行。

例如上例,如果省略“FILE_IGNORE_NEW_LINES”,输出会是这样的:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

而如果一个文件中包含空行:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

使用上例中的代码读取文件,输出结果为:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

就可以设置“FILE_SKIP_EMPTY_LINES”来跳过空行,读取下一行数据。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
var_dump($filearr);
?>

输出结果为:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

$flags参数如果设置多个常量值,需要使用|rrreee

출력 결과:

PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법

핵심 함수 file()을 살펴보겠습니다. file($filename,$flags,$context) 함수는 하나의 필수 매개변수 $filename(읽을 파일)과 두 개의 생략된 매개변수 $를 허용합니다. 플래그$context(파일 핸들 환경). 그러나 일반적으로 $flags 매개변수는 여전히 설정되어 있으며 다음 상수 중 하나 이상이 될 수 있습니다:

FILE_USE_INCLUDE_PATH: include_path(php.ini)에서 파일을 찾습니다. 기본값은 FALSE입니다. 원하는 경우 매개변수 값을 '1'로 설정합니다.

  • 🎜FILE_IGNORE_NEW_LINES: 배열의 각 요소 끝에 개행 문자를 추가하지 마세요. 🎜
  • 🎜FILE_SKIP_EMPTY_LINES: 빈 줄을 건너뜁니다. 🎜
  • 🎜예를 들어 위의 예에서 "FILE_IGNORE_NEW_LINES"를 생략하면 출력은 다음과 같습니다. 🎜🎜PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법🎜🎜파일에 빈 줄이 포함된 경우: 🎜🎜PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법🎜🎜위 예제의 코드를 사용하여 파일을 읽으면, 출력 결과는 다음과 같습니다. 🎜🎜🎜 PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법 🎜🎜는 "FILE_SKIP_EMPTY_LINES"를 설정하여 빈 줄을 건너뛰고 다음 데이터 줄을 읽을 수 있습니다. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜🎜7 .png🎜🎜$flags 매개변수입니다. 여러 상수 값을 설정하는 경우 |로 구분해야 합니다. 🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜PHP 파일의 기본 조작🎜🎜🎜🎜추천:🎜"🎜PHP 면접 질문 모음(모음)🎜" "🎜php 동영상 튜토리얼🎜"🎜

    위 내용은 PHP에서 전체 파일 데이터를 한 줄씩 배열에 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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