首页 >后端开发 >php教程 >文件头到底是哪里~~

文件头到底是哪里~~

WBOY
WBOY原创
2016-06-23 14:09:152676浏览

"r" 只读方式打开,将文件指针指向文件头。

这个文件头到底是哪里。

比如一个文件的内容是abc,,

所谓的文件头是指abc的前面那个位置,还是a字母这个位置。。。。。。

所谓的EOF又在哪,是c这个位置,还是abc后面那个位置。。。。

============
比如我们经常用fgetc来读取文件,一个字符一个字符的,
    $fp=fopen("data.html","r");
    if(!$fp){
        echo "can't open the file!";
    }else{
        while(!feof($fp)){
              $char=fgetc($fp);
              echo $char."
";
        }
    }
?>
是不是文件头是在a字母这个位置,而不是a前面那个位置,
然后执行一次fgetc,指针就下移动一位,所以当读完字母c的时候,
指针就在c的后面,也就是文件的EOF处,这个时候feof($fp)为true,程序不执行?


回复讨论(解决方案)

所谓的文件头是指abc的前面那个位置

所谓的EOF是abc后面那个位置
while(!feof($fp)){
  echo ftell($fp), ' '; //这样应该就看清楚了
  $char=fgetc($fp);
  echo $char."
";
}

那不对呀。。既然一开始打印出0.。。。

那0应该就是字母a的位置阿。。。尾巴是abc后面那个。。。

毕竟你只打印出4个位置,
分别是a,b,c和EOF。。。

语文啊,语文

语文啥呀 哈哈。

版主第一次出错

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn