stream=fopen("xxx.html");
var str = '';
while(!feof(stream)
{
size+=1024;
str.=fread(stream,size);
}
....
str只能获取1024个字节,后面的都比截断了,但是fread确实读取到了,是不是用.=出了问题,还是html里面有特殊字符导致截断?
谢谢大神
------解决方案--------------------
就你上面的代码而言,都不能运行,可能是你写错吧
至于你说的html的某个特殊字符,应该是不存在的
而且你只是读取一个html,数据不大,建议用file_get_contents(),性能比fread好
------解决方案--------------------
你用
$stream=fopen("test.html","r");
$str = '';
$size=1024;
while(!feof($stream)){
$tmp=fread($stream,$size);
file_put_contents('d:/log.log',$tmp.PHP_EOL,FILE_APPEND);
$str.=$tmp;
$tmp='';
}
fclose($stream);
echo $str;
运行程序,再打开log.log查看,每一行是每次while循环读取的数据