Home > Article > Backend Development > Reading text files in PHP
php editor Xigua In PHP development, reading text files is a common operation. Through PHP's file reading function, you can easily open, read and process the contents of text files. Whether reading configuration files, log files, or other types of text files, PHP provides a wealth of functions and methods to achieve this operation. This article will introduce how to read text files in PHP, as well as some common tips and precautions.
php
to read the text file line by line We can use the while
Looped fgets()
function reads a text file line by line in PHP. The function returns a row if there is one, or false if there are no more rows to read. It requires two parameters. The syntax is as follows.
fgets($file, $length)
Here, $file
is similar to a file pointer pointing to a successfully opened file. $length
option, optional, indicating the number of bytes to read.
We can use the open()
function to read the file, and then use the while
loop to loop through each line through the fgets()
function. We have a text file abc.txt
with the following content.
Hi How are you Have a great day
For example, create a variable $txt_file
and write the fopen()
function in it. Open file abc.txt
in r
mode. Create a row counter variable $a
and assign the value 1
to it. Then, create a while
loop. Within the loop's parentheses, write the fgets()
function that takes $text_file
as an argument. Assign the function to the $line
variable in the loop. Print the $line
variable and connect it to the $a
variable inside the loop body. Add the $a
variable and use the fclose()
function outside the loop to close the file stream.
Sample code:
<?php $txt_file = fopen('abc.txt','r'); $a = 1; while ($line = fgets($txt_file)) { echo($a." ".$line)."<br>"; $a++; } fclose($txt_file); ?>
Output:
1 Hi 2 How are you 3 Have a great day
file()
function in PHP to read the text file line by linefile()
The function reads the entire file into an array. file()
The syntax of the function is as follows.
file($filename, $flag, $context)
Here, $filename
is the file path to be read. The $flag
option is optional and consists of various constants such as FILE_USE_INCLUDE_PATH
, FILE_IGNORE_NEW_LINES
, and FILE_SKIP_EMPTY_LINES
. The third, also optional, defines a context resource.
file()
Function returns the entire array if it exists or returns false. We can use this function to read the file context line by line through the helo of the foreach()
function. foreach()
The function will loop through the entire content and extract each row individually.
For example, store the file path in the variable $txt_file
. Write a variable $lines
and store the file()
function on it using $txt_file
as argument. Next, use the foreach()
function to loop through the contents of the file. Use $lines
as the iterator and $num=>$line
as the value. Within the body of the loop, print the $num
and $line
variables.
Sample code:
$txt_file = 'abc.txt'; $lines = file($txt_file); foreach ($lines as $num=>$line) { echo 'Line '.$num.': '.$line.'<br/>'; }
Output:
Line 0: Hi Line 1: How are you Line 2: Have a great day
file_get_contents()
and explode()## in PHP # Function reads the file line by line
file_get_contents() The function reads the entire file into a
string. Returns the entire file as a string if the content exists, false otherwise. We can specify the file path as an argument to the function. explode() The function splits a string into an array using a delimiter.
explode() The syntax of the function is as follows. The
explode(separator, $string, $limit)
separator option is used to separate the
$string by the
$limit number of elements when returning the value. We can combine the
file_get_contents(),
explode() and
foreach() functions to read a text file line by line in PHP.
$contents and write the
file_get_contents() function on it with the file path in the argument. Use the
explode() function with the
\n character as the separator and
$contents as the string. Assign the function to variable
$lines. Use a
foreach loop to loop
$lines into
$line. Then, print
$line inside the loop body.
$contents variable returns a string. We split it into an array with
\n newlines and print each line using a loop.
$contents=file_get_contents("abc.txt"); $lines=explode("\n",$contents); foreach($lines as $line){ echo $line.'<br>'; }Output:
Hi How are you Have a great day
The above is the detailed content of Reading text files in PHP. For more information, please follow other related articles on the PHP Chinese website!