Home  >  Article  >  Backend Development  >  What is the difference between php fgetc() and fgets()

What is the difference between php fgetc() and fgets()

青灯夜游
青灯夜游Original
2021-11-29 18:32:423100browse

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.

What is the difference between php fgetc() and fgets()

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:

What is the difference between php fgetc() and fgets()

  • Use fgetc() to read the file character by character

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgetc($handle))) {        //循环读取文件内容
    echo $char;
}
fclose($handle);                                    //关闭文件
?>

What is the difference between php fgetc() and fgets()

  • Use fgets() to read the file line by line

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容
    echo $char."<br>";
}
fclose($handle);                                    //关闭文件
?>

What is the difference between php fgetc() and fgets()

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!

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