Home > Article > Backend Development > How does php know how many lines there are in a file?
In the previous article "How does php know which files are in the specified directory", we used PHP to get the name of the file (excluding subdirectories) in the specified directory. This time we will talk about how to calculate how many rows of data there are in a file. You can refer to it if you need it.
We have a text file named "test.txt", the content of which is:
We can see that the file has 10 lines of data , so how to use PHP program to perform statistics and calculate how many lines of data are in the file?
Today we will introduce two methods to you. The first is the first method:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $i=0; $handle = fopen('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 $i++; } echo "文件中共有 ".$i." 行数据"; fclose($handle); //关闭文件 ?>
Output result:
Analysis:
fgets() function can read the file line by line, and can read one line of data at a time.
We use the while loop and the fgets() function to read all the data of the file, and then use a counter $i
to count the reading of the entire file, fgets( ) function is operated several times in total.
The method of using while loop and fgets() function is a bit complicated, and you also need to open and close the file. Below we introduce a simpler method:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); $i = count($filearr); echo "文件中共有 ".$i." 行数据"; ?>
Output result:
Analysis:
file() function can be used once Read the entire file and read the entire file into an array. One line of data corresponds to one array element [For details, please read the article: "How to store the entire file data in an array line by line in php"].
We use var_dump() to output the $filearr array in the above example, and we can get:
It can be seen that there are 10 array elements, these 10 arrays The element corresponds to a file with 10 lines of data.
At this time, use count($filearr)
to count the length of the array (the number of array elements), and then you can get how many lines of data the file has.
Okay, that’s all. If you want to know anything else, you can click this. → →Basic operation of PHP files
## Recommended: 《PHP interview questions summary (collection)》《php video tutorial》
The above is the detailed content of How does php know how many lines there are in a file?. For more information, please follow other related articles on the PHP Chinese website!