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 "文件不存在"; } } ?>
输出结果为:
PHP文件处理的高级应用到这里就介绍结束了,下面那我们介绍PHP文件上传,具体内容请阅读《php文件上传—配置php.inn文件以及预定义变量$_FILES》!
Atas ialah kandungan terperinci PHP文件处理的高级应用—文件指针. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!