"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。。。
语文啊,语文
语文啥呀 哈哈。
版主第一次出错