解决方案 »

  1.   

    $stream=fopen("test.txt","a+");
    $str = '';
    $size=1024;
    while(!feof($stream)){
    $str.=fread($stream,$size);
    }
    fclose($stream);
    echo $str;
      

  2.   

    我读取的是html,跟读取模式应该没关系,有的页面可以抓取,有的页面抓取被截断,怀疑某个html标签的问题?谢谢
      

  3.   

    就你上面的代码而言,都不能运行,可能是你写错吧
    至于你说的html的某个特殊字符,应该是不存在的
    而且你只是读取一个html,数据不大,建议用file_get_contents(),性能比fread好
      

  4.   

    恩,我乱写的,大概意思,刚开始改cms,php入门级。
    您写的很对,但是我确实遇到问题了,调试的时候,每次while里面的fread都能读到数据,但是,加到字符串str里面后,str的长度变了,但是内容每增加,难道是调试的问题,调试的时候只能只能显示变量一部分?我改过xdebug的显示最大长度,没有效果,我用的vs.php调试的,怎么搞能显示全部。怎么搞能看到到底str存了多少,只见其长度增加,没见到内容变化
      

  5.   

    你用$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循环读取的数据