Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP文件处理的高级应用—文件指针

PHP文件处理的高级应用—文件指针

黄舟
黄舟asal
2017-04-18 11:28:262806semak imbas

PHP文件处理的高级应用—文件指针

PHP 可以实现文件指针的定位以及查询,从而实现所需要信息的快速查询,文件指针函数有 rewind(),fseek(),feof()以及ftell()函数。

在上一篇文章《PHP文件处理的高级应用—远程文件访问及锁定文件》中我们就介绍了文件的远程访问以及怎么样锁定文件,没有看的小伙伴们,可以去看看,这里就不多讲了,今天我们主要讲述文件指针里的函数!

一:rewind()函数

该函数将文件 handle 的指针设置为文件流的开头,该函数的语法格式如下:

bool rewind ( resource $handle )

注意:

如果将文件与追加(“a”)模式打开,那么写入文件的任何数据总是会被附加在文件已有的内容末尾,不论文件指针的位置在何处!

二:fseek()函数

fseek()函数实现文件指针的定位,该函数语法格式如下:

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )
  • handle 参数为要打开的文件。

  • offset 为指针位置或者相对 whence 参数的偏移量,可以是负值。

  • whence的值包括以下3种:

1. SEEK_SET, 位置等于 offset字节。

2. SEEK_CUR, 位置等于当前位置加上 offset字节。

3. SEEK_END,位置等于文件尾加上 offset字节。

如果忽略 whence参数,系统默认为 SEEK_SET。

三:feof()函数

该函数判断文件指针是否在文件尾,函数语法格式如下:

bool feof ( resource $handle )

如果指针到了文件结束的位置,就返回 true,否则返回 false。

四:ftell()函数

ftell()函数返回当前指针的位置,该函数的语法格式如下:

int ftell ( resource $handle )

下面就是使用上面 4个指针函数来输出文件中的内容,示例代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$filename = "tm.txt";        //指定文件路径及文件名
if(is_file($filename)){      //判断文件是否存在
    echo "文件总字节数:".filesize($filename)."<br>"; //输出总字节数
    $fopen = fopen($filename,"rb");                 // 打开文件
    echo "初始指针位置是:".ftell($fopen)."<br>";     //输出指针位置
    fseek($fopen,33);                               //制动指针
    echo "使用fseek()函数后指针位置:".ftell($fopen)."<br>";  //输出制动后的指针位置
    echo "输出当前指针后面的内容:".fgets($fopen)."<br>";     //输出从当前指针到行尾的内容
    if (feof($fopen)){                                     //判断指针是否指向文件末尾
        echo "当前指针指向文件末尾:".ftell($fopen)."<br>";   //如果指向了文件尾,则输出指针位置
        rewind($fopen);                                    //使用rewind()函数
        echo "使用 rewind()函数后指针的位置:".ftell($fopen)."<br>"; //查看使用rewind()函数后指针的位置
        echo "输出前33个字节的内容:".fgets($fopen,33);             //输出前33个字节的内容
        fclose($fopen);                                          //关闭文件
    }else{
        echo "文件不存在";
    }
}
?>

输出结果为:

27.png

PHP文件处理的高级应用到这里就介绍结束了,下面那我们介绍PHP文件上传,具体内容请阅读《php文件上传—配置php.inn文件以及预定义变量$_FILES》!

Atas ialah kandungan terperinci PHP文件处理的高级应用—文件指针. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn