Home >Backend Development >PHP Tutorial >文件头到底是哪里~~

文件头到底是哪里~~

WBOY
WBOYOriginal
2016-06-23 14:09:152676browse

"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。。。

语文啊,语文

语文啥呀 哈哈。

版主第一次出错

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn