Php操作文件指针,PHP文件处理的高级应用—文件指针

本文详细介绍了PHP中用于文件指针操作的四个关键函数:rewind()、fseek()、feof()和ftell()。通过实例代码展示了如何利用这些函数进行文件内容的读取和定位,包括文件指针的重置、移动以及判断文件尾部等操作。
摘要由CSDN通过智能技术生成

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)."
"; //输出总字节数

$fopen = fopen($filename,"rb"); // 打开文件

echo "初始指针位置是:".ftell($fopen)."
"; //输出指针位置

fseek($fopen,33); //制动指针

echo "使用fseek()函数后指针位置:".ftell($fopen)."
"; //输出制动后的指针位置

echo "输出当前指针后面的内容:".fgets($fopen)."
"; //输出从当前指针到行尾的内容

if (feof($fopen)){ //判断指针是否指向文件末尾

echo "当前指针指向文件末尾:".ftell($fopen)."
"; //如果指向了文件尾,则输出指针位置

rewind($fopen); //使用rewind()函数

echo "使用 rewind()函数后指针的位置:".ftell($fopen)."
"; //查看使用rewind()函数后指针的位置

echo "输出前33个字节的内容:".fgets($fopen,33); //输出前33个字节的内容

fclose($fopen); //关闭文件

}else{

echo "文件不存在";

}

}

?>

输出结果为:

69efe395ee9585ef060168e8266a5429.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值