PHP 文件系统 rewind() 函数



PHP 文件系统 rewind() 函数用于将文件指针的位置倒回到文件的开头,如果成功则返回 true,失败则返回 false。

此函数可以将句柄的文件位置指示器设置为文件流的开头。如果我们以追加 ("a" 或 "a+") 模式打开了一个文件,那么我们写入文件的所有数据都始终会被追加,而不管文件指针的位置如何。

语法

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

bool rewind ( resource $handle )

参数

以下是 rewind() 函数唯一必需的参数:

序号 参数和描述
1

$handle(必需)

它是文件指针,它应该是有效的,并且指向由 fopen() 成功打开的文件。

返回值

rewind() 函数在成功时返回 TRUE,失败时返回 FALSE。

PHP 版本

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

示例

这是一个基本示例,展示了如何使用 PHP 文件系统 rewind() 函数来倒回文件指针的位置。

<?php
   $handle = fopen("/PhpProjects/sample.txt", "r+");

   fwrite($handle, "Long sentence");
   rewind($handle);
   fwrite($handle, "Hello PHP");
   rewind($handle);

   echo fread($handle, filesize("/PhpProject/sample.txt"));
   fclose($handle);
?>

输出

以下是以下代码的结果:

Hello PHPence

示例

在另一个示例中,我们将向您展示如何将 rewind() 和 fseek() 函数结合使用来处理文件。

<?php
   $file = fopen("/PhpProjects/sample.txt", "r");

   fseek($file, "15");  // Change the position of file pointer
   rewind($file);  // Set the file pointer to 0

   fclose($file);
?> 

输出

这将产生以下结果:

# No output of this code

示例

再举一个例子,读取文件并打印内容,在再次打印数据后,将指针移回文件的开头。

<?php
   // Open file for reading
   $file = fopen("/PhpProjects/myfile.txt", "r"); 

   // Read data from the file
   $data = fgets($file);
   echo $data; // Output the first line of data

   rewind($file); // Move pointer back to the beginning of the file

   // Read data again from the beginning
   $data = fgets($file);
   echo $data; // Output the first line of data again

   fclose($file);
?> 

输出

这将生成以下输出:

Hello this is a text file.
Hello this is a text file.

示例

此示例演示了如何使用 rewind() 重置文件指针。即使您已经读取了部分文件,它也允许您再次从文件的开头读取。

<?php
   // Open file for reading
   $file = fopen("/PhpProjects/myfile.txt", "r+"); 

   // Read the first line of the file
   $line1 = fgets($file);
   echo "First line: " . $line1 . "\n";

   // Read the second line of the file
   $line2 = fgets($file);
   echo "Second line: " . $line2 . "\n";

   // Move the file pointer back to the starting point of the file
   rewind($file);

   // Read the first line again after rewinding
   $rewindedLine = fgets($file);
   echo "First line after rewind: " . $rewindedLine . "\n";

   fclose($file); // Close the file
?> 

输出

这将导致以下输出:

First line: Hello this is a text file.

Second line: Tutorialspoint is a great website for learners.

First line after rewind: Hello this is a text file.

总结

rewind() 方法是一个内置函数,用于倒回给定文件的文件指针。如果您想再次从开头读取文件或在之前读取或写入文件后必须从头开始写入,这非常重要。

php_function_reference.htm
广告