开启辅助访问
帐号登录 |立即注册

PHP 文件指针函数

 
PHP 文件指针
文件指针通俗的理解就像是平常操作文档时鼠标指针的位置。PHP 提供了丰富的文件指针函数供使用:

feof():测试文件指针是否到了文件结束的位置。
fseek():在文件指针中定位。
rewind():倒回文件指针的位置。
ftell():返回文件指针读/写的位置。


feof()函数
EOF(End Of File,文件结束位置)是文件处理中非常重要的概念,在 PHP 中提供了 feof() 函数来检测是否达到了 EOF。
如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。

语法:
bool feof( resource handle )
例子:
<?php
$fh = @fopen("test.txt","r") or die("打开 test.txt 文件出错!");
// if条件避免无效指针
if($fh){
    while(!feof($fh)) {
        echo fgets($fh), '<br />';
    }
}
fclose($fh);
?>

重要提示
如果传递的文件指针无效可能会陷入无限循环中,因为 EOF 不会返回 TRUE。所以在使用 feof() 函数之前对文件指针的有效性进行检测是十分必要的。


fseek() 函数
用于在文件指针中定位,成功则返回 0 ,否则返回 -1 。

语法:
int fseek( resource handle, int offset [, int whence] )
参数说明:
参数        说明
handle        文件指针
offset        定位字节数
whence        可选,定位辅助说明,可能的值如下:
SEEK_SET:定位置等于 offset 字节
SEEK_CUR:设定位置为当前位置加上 offset
SEEK_END设定位置为文件尾加上 offset。(要移动到文件尾之前的位置,需要给 offset 传递一个负值。)
如果没有指定 whence,默认为 SEEK_SET。

例子:
<?php
$fh = fopen('test.txt', 'r');
fseek($fh, 5);
echo ftell($fh);
//输出:5
?>

提示:该函数可能不能用于在 fopen() 中以 "http://" 或 "ftp://" 格式打开所返回的文件指针。


rewind() 函数
用于倒回文件指针的位置到开头,如果成功则返回 TRUE,失败则返回 FALSE 。

语法:
bool rewind( resource handle )

例子:
<?php
$fh = fopen("test.txt","r");
rewind($fh);
echo ftell($fh);
//输出:0
?>



ftell() 函数用于返回文件指针读/写的位置,成功返回 0 ,出错返回 FALSE。

语法:
int ftell ( resource handle )
文件指针必须是有效的,且必须指向一个通过 fopen() 或 popen() 成功打开的文件,使用例子见上。




回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。