目前图片 是 4M 左右
                           set_time_limit(0); 
                                    ob_start ();
readfile ( "http://www.xxx.com" . $v );
$img = ob_get_contents ();
ob_end_clean ();
$size = strlen ( $img );
$fp2 = @fopen ( $filename, "a" );
fwrite ( $fp2, $img );
fclose ( $fp2 );代码在 $img = ob_get_contents ();
执行很长时间后打印出了 一堆乱码后 挂了。

解决方案 »

  1.   

    直接使用 file_get_contnet 试一下还有,把你的采集失败的地址帖出来看看
      

  2.   

    代码在 $img = ob_get_contents ();
    执行很长时间后打印出了 一堆乱码后 挂了。

    这可能是因为超时了,乱码的开始出就是错误信息另外 $fp2 = @fopen ( $filename, "a" ); 这样写是不对的
    a 是追加方式,如果文件 $filename 存在的话就出问题了
    应该写作
    $fp2 = fopen ( $filename, "w" );
    如果是 windows 系统,要写作
    $fp2 = @fopen ( $filename, "wr" );
      

  3.   


    谢谢指正
    另外 我设置了
    set_time_limit(0);  
      ob_start ();
    这句话 延长代码执行时间  还是没用
      

  4.   

    解决了  用 file_get_contnet 那个错误爆出来了。内存不足设置 ini_set ('memory_limit', '128M'); 就行了。谢谢了。