Home  >  Article  >  Backend Development  >  How to store the entire file data into an array line by line in php

How to store the entire file data into an array line by line in php

青灯夜游
青灯夜游Original
2021-08-06 16:11:103881browse

In the previous article, we introduced and introduced to you a method of reading the entire file at one time, and this method can store the read content into a string. If you are interested, you can click "How to store all data of a file into a string in php" View. The following continues to introduce the method of reading the entire file at once.

The method in the previous article will output the entire content of the file in one line. It is okay if the file data is small. If there is too much file data, for example:

How to store the entire file data into an array line by line in php

Use the file_get_contents() function to read the output:

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

The output result is

How to store the entire file data into an array line by line in php

It can be seen that the output content is not conducive to reading. So how can we output the entire contents of the file line by line? You can use arrays.

You can read the entire file at once and store the data into the array line by line. Each line of data corresponds to an array element.

Let’s take a look at the following code:

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

Output result:

How to store the entire file data into an array line by line in php

Is it easy to read, and sometimes If you need to read the entire content, but only need one row of data for the time being, you can use the form array name[subscript] to get the data of the specified row. For example, if you want the third row of data, you can:

<?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开始的
?>

Output result:

How to store the entire file data into an array line by line in php

Let’s take a look at the key functions insidefile().

file($filename,$flags,$context)The function accepts one required parameter $filename (the file to be read) and two optional parameters $flags and $context (the environment of the file handle).

But generally the $flags parameter is still set, which can be one or more of the following constants:

  • ##FILE_USE_INCLUDE_PATH: Search for files in include_path (in php.ini), the default is FALSE; if you want, set the parameter value to '1'.

  • FILE_IGNORE_NEW_LINES: Do not add a newline character at the end of each element of the array;

  • FILE_SKIP_EMPTY_LINES: Skip empty lines.

For example, in the above example, if "FILE_IGNORE_NEW_LINES" is omitted, the output will be like this:

How to store the entire file data into an array line by line in php

And if a file contains empty Line:

How to store the entire file data into an array line by line in php

Use the code in the above example to read the file, the output result is:


How to store the entire file data into an array line by line in php

You can set "FILE_SKIP_EMPTY_LINES" to skip empty lines and read the next line of data.

<?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);
?>

The output result is:

How to store the entire file data into an array line by line in php

$flagsParameters If you set multiple constant values, you need to use |separated.

Okay, that’s all. If you want to know anything else, you can click this. → →

Basic operation of PHP files

## Recommended:

PHP interview questions summary (collection)》《php video tutorial

The above is the detailed content of How to store the entire file data into an array line by line in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn