PHP 文件系统 fgets() 函数



PHP 文件系统fgetcsv()函数用于从打开的文件中返回一行。此函数在指定长度的新行或文件结尾处停止返回,以先到者为准,并在失败时返回false。

调用函数时指定的长度参数允许它从文件中读取最多length-1个字节。

当您想逐行处理文件时,例如处理文本文件或日志文件时,它非常有用。

语法

以下是PHP文件系统fgetcsv()函数的语法:

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

参数

以下是fgets()函数的必需和可选参数:

序号 参数及描述
1

handle(必需)

这是一个文件指针资源,指向您要从中读取的文件。

2

length(可选)

指定要读取行的最大长度。如果省略,它将读取到下一个换行符。

返回值

fgets()函数返回包含从文件中读取行的字符串。如果发生错误或到达文件结尾,则返回false。

PHP 版本

fgets()函数最初作为核心PHP 4的一部分引入,并与PHP 5、PHP 7、PHP 8良好兼容。

示例

此PHP代码将使用PHP文件系统fgetcsv()函数读取给定文件的首行。因此,我们将读取sample.txt文件的首行。

以下是此示例的简单演示:

<?php
   $file = fopen("/PhpProject/sample.txt", "r");
   echo fgets($file);
   fclose($file);
?>

输出

这将产生以下结果:

tutorialspoint

示例

此PHP代码将使用fgets()函数读取给定的整个文件。因此,我们将在这里读取sample.txt文件。

<?php
   $file = fopen("/PhpProject/sample.txt", "r");
 
   while(! feof($file)) {
      echo fgets($file). "\n";
   }
 
   fclose($file);
?>

输出

这将生成以下结果:

tutorialspoint

tutorix

示例

现在,我们将尝试使用PHP中的fgets()函数读取特定数量的字符。此外,我们将使用substr()函数从给定文件中创建子字符串。然后在转到下一行之前输出每一行的前5个字符。

<?php
   // Open the file in read mode
   $file = fopen("/Applications/XAMPP/xamppfiles/htdocs/mac/newfile.txt", "r");

   while (($line = fgets($file)) !== false) { // Loop until end of file
      // Read and output first 5 characters of each line
      echo substr($line, 0, 5) . "<br>";
   }
   fclose($file); // Close the file
?> 

输出

这将创建以下结果:

Hello
Tutor
Tutor
Compu
Infor

示例

使用以下代码,您可以借助PHP中的fgets()函数跳过空行。让我们看看它是如何工作的。

<?php
   // Open the file in read mode
   $file = fopen("/Applications/XAMPP/xamppfiles/htdocs/mac/newfile.txt", "r");

   // Loop until end of file
   while (($line = fgets($file)) !== false) { 
      // Remove leading and trailing whitespace
      $trimmed_line = trim($line); 
      // Check if line is not empty
      if (!empty($trimmed_line)) { 
         // Output the line
         echo $trimmed_line . "<br>"; 
      }
   }
   fclose($file); // Close the file
?> 

输出

Hello
Tutorialspoint
Tutorix
Computer Science
Information

注意

请记住,在使用PHPfgets()函数之前,必须使用fopen()方法检索文件句柄($handle)。确保在读取文件后使用fclose()关闭文件句柄以节省系统资源。

总结

在PHP中,fgets()函数可以读取文件中的一行。逐行处理文件在处理文本文件或日志文件时非常有用。

php_function_reference.htm
广告