Home  >  Article  >  Backend Development  >  Reading text files in PHP

Reading text files in PHP

WBOY
WBOYforward
2024-02-29 22:10:081038browse

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.


Use the fgets() function in 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

Use the file() function in PHP to read the text file line by line

file() 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

Using 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.

For example, create a variable

$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.

In the example below, the

$contents variable returns a string. We split it into an array with \n newlines and print each line using a loop.

Sample code:

$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!

Statement:
This article is reproduced at:lsjlt.com. If there is any infringement, please contact admin@php.cn delete