Home > Article > Backend Development > What is the difference between php fgetc() and fgets()
Difference: 1. fgetc() is used to read a character from an open file and return a string containing one character; while fgets() is used to read a line from an open file data and returns a string of specified length. 2. The fgetc() function only accepts one parameter, while the fgets() function accepts two parameters.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
In php, fgetc() and fgets( ) can read data from files, but there are differences, which are introduced below.
php The difference between fgetc() and fgets()
1. Functional difference
fgetc(): Read a character from an open file
fgets(): Read a line of data from an open file
2. Syntax difference
fgetc(): Only accepts one parameter
fgetc($handle)
The parameter $handle is the opened file
fgets(): Yes Accepts two parameters
fgets($handle[,$length])
The parameter $handle is the file to be opened
The parameter $length is an optional parameter, used to set the read the data length.
3. Return value difference
fgetc() function can return a string containing one character, which is obtained from $handle obtained from the file pointed to. Returns FALSE when EOF is encountered.
fgets() function can read a line from the specified file and return a string of specified length. Stops after a newline character, EOF, or after reading $length-1 bytes. If the $length parameter is omitted, the default read length is 1k (1024 bytes).
Extended knowledge:
We have a text file named "test.txt" with the content:
Use fgetc() to read the file character by character
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetc($handle))) { //循环读取文件内容 echo $char; } fclose($handle); //关闭文件 ?>
Use fgets() to read the file line by line
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 echo $char."<br>"; } fclose($handle); //关闭文件 ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the difference between php fgetc() and fgets(). For more information, please follow other related articles on the PHP Chinese website!