目标网站的html里面的编排格式改变了,你通过explode对以前的格式分割获取里面的内容,当然是失效了。你重现检查fopen后得到的内容吧。

解决方案 »

  1.   

    估计应该是像unixdotnnet说的那样,
    有可能网站改版了,
      

  2.   

    打不开 http://www.91f.org/MusicList不知道里面的内容是什么
      

  3.   

    http://www.91f.org/MusicList/3861.htm网址地址呀,我想原因应该是$url1=explode("geci.asp?id=",$line[10]);这个错误了。line[10]这个应该改为多少呢?
      

  4.   

    我帮你改了一句,不知道是不是你想要的结果
    musiclist.php将 $fd=fopen("http://www.91f.org/MusicList/".$zid,"r");
    $read = fread($fd,999999);
    替换成
    $read = file_get_contents("http://www.91f.org/MusicList/".$zid);
      

  5.   

    谢谢,谢谢大家,不过
    将 $fd=fopen("http://www.91f.org/MusicList/".$zid,"r");
    $read = fread($fd,999999);
    替换成
    $read = file_get_contents("http://www.91f.org/MusicList/".$zid);
    的话程序就出错了。
    我想应该是这段的问题for($i=1;$i<$count-1;$i++){
    $tem=explode("</tr>",$tr[$i]);
    $line=explode("\n",$tem[0]);
    $url1=explode("geci.asp?id=",$line[10]);
    $url2=explode("'  target=",$url1[1]);
    $url=$url2[0];抓取ip号的问题,$line[10]这个不对
      

  6.   

    $fd=fopen("http://www.91f.org/MusicList/".$zid,"r");其实这句话导致你的程序错误,是因为你传的参数之后打不开文件,你再这里进行判断如下所示:
    if(!$fd=fopen("http://www.91f.org/MusicList/".$zid,"r")){ echo "can not open file";}
    它就不会有错误了,
    下面的代码在每一个没有完全肯定的语句的地方加上相应的判断,就不会出现错误了,其它的不知道你错了那里,对于打开文件错,应该是$zid的问题,你没有传到这个页面来,所以它是空的,就会出错
      

  7.   

    程序下载地址改了。http://www.pm520.com/flash/php.rar