PHP 文件系统 fseek() 函数



PHP 文件系统fseek()函数用于在打开的文件中查找。此函数可以将文件指针从其当前位置移动到新的位置(向前或向后),该位置由字节数给出。此函数在成功时返回 0,在失败时返回 -1。查找超出 EOF 不会产生错误。

语法

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

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

参数

以下是fseek()函数的必填和可选参数:

序号 参数及说明
1

handle(必填)

这是使用 fopen() 打开的文件的句柄。

2

offset(必填)

这是您要移动指针的字节数。

3

whence(可选)

这告诉 PHP 从哪里开始计算偏移量。它可以是三个值之一:

  • SEEK_SET:设置文件的开头。
  • SEEK_CUR:设置文件中的当前位置指示器。
  • SEEK_END:设置文件末尾的偏移量。
  • 返回值

    如果成功,fseek()返回 0,如果发生错误,则返回 -1。

    PHP 版本

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

    示例

    PHP 文件系统fseek()函数用于在此示例中显示基本用法。查看以下 PHP 代码:

    <?php
       $file = fopen("/Path/To/The/File", "mode");
       echo fseek($file, 10, SEEK_CUR);
    ?>
    

    示例

    此代码展示了如何从头到尾读取文本文件,从开头开始,使用fseek()函数结束。该代码还使用了 fopen() 和 fgets() 函数。

    <?php
       $file = fopen("/PhpProject/sample.txt", "r");
       
       // read first line
       echo fgets($file);
       
       // move back to beginning of file
       fseek($file, 0);
       
       echo fgets($file);
       
    ?>
    

    输出

    以下是上述代码的输出:

    Tutorialspoint
    Tutorialspoint
    

    示例

    此示例展示了如何使用fseek()将指针移到文件末尾以读取文件的最后一行。

    <?php
       //Open the file
       $file = fopen("data.txt", "r");
       
       //Move the file pointer
       fseek($file, 0, SEEK_END);
    
       //Read the last line
       $lastLine = fgets($file);
    
       //Print the last line
       echo $lastLine;
    
       //Close the file
       fclose($file);
    ?> 
    

    输出

    这将产生以下结果:

    Tutorialspoint
    

    示例

    此示例展示了如何使用fseek()函数读取已跳过前 50 个字符的文件。因此,我们使用了 SEEK_SET 参数。

    <?php
       $file = fopen("myfile.txt", "r");
    
       //Skip 50 characters
       fseek($file, 50, SEEK_SET);
    
       //Store content after skipping 50 characters
       $contentAfterSkipping = fgets($file);
    
       //Print the result
       echo $contentAfterSkipping;
    
       //Close the file
       fclose($file);
    ?> 
    

    输出

    跳过 50 个字符后,这将产生以下结果:

    ork is very important.
    

    示例

    此示例演示了如何在fseek()函数的帮助下将数据写入文件中的指定位置。

    <?php
       $file = fopen("myfile.txt", "r+");
       fwrite($file, "Important note:");
       fseek($file, 15, SEEK_SET);
       fwrite($file, " Don't forget to submit report");
       fclose($file);
    ?> 
    

    输出

    这将产生以下结果:

    Hello World!!!!!
    
    Today is 6 June 2024 and I am working on PHP functions.
    
    Don't forget to submit report
    

    注意

    起始位置可以指定为 SEEK_SET(文件的起始点)、SEEK_END(文件的末尾)或 SEEK_CUR(指针的当前地址)。如果未提供,则默认假定 SEEK_SET。

    总结

    使用 PHP 的fseek()函数将文件指针移动到文件内的给定位置。为了在应用程序中访问和编辑文件内容,必须了解如何成功使用 PHP。

    php_function_reference.htm
    广告