Home  >  Article  >  Backend Development  >  Still can’t tell the difference between fgets, fgetss and fgetcsv in PHP? Collect quickly!

Still can’t tell the difference between fgets, fgetss and fgetcsv in PHP? Collect quickly!

藏色散人
藏色散人Original
2021-08-19 17:52:292889browse

In the previous article "How to Loop Associative Arrays in PHP (Two Methods)" I introduced to you two methods of looping through associative arrays in PHP. Interested friends can learn about it~

The theme of this article is to introduce to you the specific differences between fgets, fgetss and fgetcsv functions in PHP!

In fact, these three functions are all related to file operation functions in PHP. In order to let everyone master the use of different functions in different situations, I will summarize the differences between them.

Below I will introduce the fgets, fgetss and fgetcsv functions respectively with examples:

1: fgets()Function

fgets() function is used to read one line from the file at a time; it will keep reading until it encounters a newline character (\n) or EOF; the maximum length read is the specified length minus 1 byte .

Syntax such as:

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

Parameters:

handle: The file pointer must be valid and must point to the file successfully opened by fopen() or fsockopen() (Not yet closed by fclose()).

length: Read a line from the file pointed to by handle and return a string with a length of at most length - 1 byte. Stops when a newline character (included in the return value), EOF, or length - 1 bytes has been read (whichever occurs first). If length is not specified, it defaults to 1K, or 1024 bytes.

Example:

Create a test.txt file with the following content: (This content paragraph comes from the Internet, sorry for infringement and deletion)

秋已经很深了,似乎随时都可能陨落,让冬给替代。

那呼啸的北风或许正是冬的使者,匆忙而来,不想并未在这土地逗留片刻,就向南而去了。

PHP sample code is as follows:

The output effect is as follows:

Still can’t tell the difference between fgets, fgetss and fgetcsv in PHP? Collect quickly!

Two: fgetss() Function

An interesting variant of fgets() is fgetss(), which has the following syntax:

string fgetss(resource fp, int length, string [allowble_tags])

This function is similar to fgets(), but different The difference is that it strips any PHP and HTML tags found in the string; if you want to keep any specific tags, you can add them to the allowable_tags string; when reading files written by others or files containing user input, To be on the safe side, you can use fgetss().

The content of test.txt in this example is the same as above.

PHP sample code is as follows:

The output is as follows:

Still can’t tell the difference between fgets, fgetss and fgetcsv in PHP? Collect quickly!

To retain specific tags, Then you can set the following parameters:

,");
fclose($file);

The effect is as follows:

Still can’t tell the difference between fgets, fgetss and fgetcsv in PHP? Collect quickly!

## Three: fgetcsv() Function

The function fgetcsv() is another variant of fgets(). The syntax is as follows:

array fgetcsv(resource fp, int length [, string  delimiter [, string enclosure]])

When you use delimiters (such as tabs or commas), this function File lines will be delimited.

First create a test.csv file with the following content:

春天, 夏天, 秋天, 冬天
早晨, 上午, 中午, 晚上

PHP code example:

Output:

array (size=4)
  0 => string '春天' (length=6)
  1 => string ' 夏天' (length=7)
  2 => string ' 秋天' (length=7)
  3 => string ' 冬天' (length=7)

PHP Chinese website platform has very There are many video teaching resources, everyone is welcome to learn "

PHP Video Tutorial"!

The above is the detailed content of Still can’t tell the difference between fgets, fgetss and fgetcsv in PHP? Collect quickly!. 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