PHP file handling - how to read a file (one line, whole file)

黄舟
Release: 2023-03-07 13:18:01
Original
10150 people have browsed it

PHP file processing—how to read a file (one line, the entire file)

Reading and writing files is more complicated than opening and closing files. Here we mainly explain from two aspects: reading data and writing data.

Then in the previous article "PHP File Processing - Opening and Closing Files", opening and closing files was introduced. Opening files is the prerequisite for all file operations, and closing is the prerequisite for all operations. The end of the file, then today we will introduce how to read the file!

Read data from the file

Read data from the file, you can read a character, a line of string or the entire file , you can also read a string of specified length.

1. Read the entire file: readfile(), flie() and file_get_contents() three functions, we will introduce them one by one below!

readfile() function

The readfile() function is used to read a file and write it to the output buffer. If an error occurs, it returns false. The function syntax format is as follows:

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )
Copy after login

Using the readfile() function, there is no need to open and close the file, and there is no need for echo, print and other output statements. Just write the file path first.

flie() function

flie() function can also read the contents of the entire file, but the file() function stores the file contents into an array line by line. Including newlines, returns false if the read fails. The syntax format of the function is as follows:

array file ( string $filename [, int $flags = 0 [, resource $context ]] )
Copy after login

file_get_contents() function

file_get_contents() function reads the contents of the file (fliename) into a string. If there are no offset and maxlen parameters, a string of length maxlen will be read starting from the position specified by the offset parameter. If the read fails, false will be returned. The function syntax format is as follows;

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
Copy after login

This function is suitable for binary files and is the preferred method to read the entire file content into a string.

The following example uses the above three functions to read the file content separately. The specific code is as follows:

<html>
<body>
<table width="500" border="1" cellpadding="0" cellspacing="0" >
    <tr>
        <td width="253" height="100" align="right" valign="middle" scope="col">使用 readfile()函数读取文件内容:</td>
        <td width="241" height="100" valign="middle" scope="col">
            <!--使用 readfile()函数读取tm.txt文件内容-->
            <?php readfile("tm.txt");?></td>
    </tr>
    <tr>
        <td  height="100" align="right" valign="middle">使用 file()函数读取文件内容:</td>
        <td  height="100" valign="middle" >
            <!--使用 file()函数读取tm.txt文件内容-->
            <?php
            $f_arr = file("tm.txt");
            foreach ($f_arr as $cont){
                echo $cont."<br>";
            }
            ?>
        </td>
    </tr>
    <tr>
        <td width="250" height="25" align="right" valign="middle" scope="col">使用flie_get_contents()函数读取文件内容:</td>
        <td  height="25" valign="middle" align="center" scope="col" >
            <!--使用 flie_get_contents()函数读取tm.txt文件内容-->
        <?php
            $f_chr = file_get_contents("tm.txt");
        echo $f_chr;
        ?>
        </td>
    </tr>
</table>
</body>
</html>
Copy after login

The output result is:

PHP file handling - how to read a file (one line, whole file)

2. Read a row of data: fgets() function and fgetss() function

(1) fgets() function

fgets() function is used to read one row of data at a time. The function syntax is as follows:

string fgets ( resource $handle [, int $length ] )
Copy after login

The parameter handle is the file to be read, and the parameter length is the length of the data to be read. The function can read a line from the file specified by handle and return a string with a maximum length of length-1 bytes. Stops with newline character, EOF or after reading length-1 times. If the length-1 parameter is omitted, data is read until the end of the line.

(2)fgetss() function

The fgetss() function is a variant of the fgets() function and is used to read a row of data. At the same time, the fgetss() function will filter out HTML and PHP tags in the content being read. The function syntax is as follows:

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
Copy after login

This function can filter out any html and PHP tags from the read file. You can use the allowable_tags parameter to control which tags are not filtered out.

The following example uses the above function to read a file respectively and display it. Observe the difference between them. The specific code is as follows:

<html>
<body>
<table  border="1" cellpadding="0" cellspacing="0" >
    <tr>
        <td align="right" valign="middle" scope="col">使用fgets()函数:</td>
        <td valign="middle" scope="col" align="center">
            <!--使用fgets()函数读取fun.php文件-->
            <?php
             $fopen = fopen("1.php","rb");
            while (!feof($fopen)){
                echo fgets($fopen);
            }
            fclose($fopen);
            ?></td>
    </tr>
    <tr>
        <td  align="right" valign="middle">使用 fgetss()函数:</td>
        <td  align="center" valign="middle" >
            <!--使用fgetss()函数读取-->
            <?php
            $fopen = fopen("1.php","rb");
            while (!feof($fopen)){
                echo fgetss($fopen);
            }
            fclose($fopen);
            ?></td>
    </tr>
</table>
</body>
</html>
Copy after login

The output result is:

PHP file handling - how to read a file (one line, whole file)

This article introduces two methods of reading files, one is to read the entire file, and the other is It reads one line of data. In the next article, I will introduce reading one character and a string of specified length. For details, please read "PHP File Processing—Reading File (One Character, String)》!

The above is the detailed content of PHP file handling - how to read a file (one line, whole file). For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template