根本就错误消息出来啊,我第二次输出fopen是空的,所以没有打开成功,换成字符串URL以后才成功。

解决方案 »

  1.   

    $url = "http://localhost/page";
    $fp = fopen($url,"r"); //这样打不开?
      

  2.   

    我的代码:大家可运行下$url="http://bbs.yam.com/bin/dir?gid=317&type=0";
        $array_base=array();//存储大类URL
        $num_base=0;//大类数组大小
        $array_child=array();//存储子类URL
        $num_child=0;//子类数组大小
        add_base($url);
    //将此URL下所有大类收集进数组$array_base
    function add_base($base_url)
    {    
            global $array_base;//存储大类URL
            global $num_base;//大类数组大小
            global $array_child;//存储子类URL
            global $num_child;//子类数组大小
        
            $fp = fopen ($base_url, "r");         while( $buffer = fgets($fp, 4096))
            {
                
                $html= nl2br(htmlentities($buffer));
                $split="/bin/dir";
                $query="http://bbs.yam.com/bin/dir";
                if ( count($split) <1 )
                {
                    continue;
                }
                $array=explode($split,$html);
                $array=explode("&quot;",$array[1]);
                
                if ( !in_array($query.$array[0],$array_base) && $array[0] != "" )
                {
                    $type=explode("=",$array[0]);
                    if ( $type[2] == 0 )
                    {
                        $array_base[$num_base]=$query.$array[0];//压入数组
                        $num_base++;
                    }
                    else
                    {
                        $array_child[$num_child]=$query.$array[0];//压入数组
                        $num_child++;
                    }
                }
        
            }    fclose ($fp); }        echo count($array_base)."是大类的数组大小,循环里面的URL再收集<br>";        echo $array_base[0]."<br>";//这句输出的URL是对的,但下面的fopen切没有打开
            $uu=$array_base[0];
            $fpc = fopen ($uu, "r");
            echo  $fpc;//输出是空的
            while( $buffer = fgets($fpc, 4096))
            {
                
                $html= nl2br(htmlentities($buffer));
                $split="/bin/dir";
                $query="http://bbs.yam.com/bin/dir";
                if ( count($split) <1 )
                {
                    continue;
                }
                $array=explode($split,$html);
                $array=explode("&quot;",$array[1]);
                
                if ( !in_array($query.$array[0],$array_base) && $array[0] != "" )
                {
                    $type=explode("=",$array[0]);
                    if ( $type[2] == 0 )
                    {
                        $array_base[$num_base]=$query.$array[0];//压入数组
                        $num_base++;
                        add_base($query.$array[0]);
                    }
                    else
                    {
                        $array_child[$num_child]=$query.$array[0];//压入数组
                        $num_child++;
                    }
                }
        
            }    fclose ($fpc);
      

  3.   

    to: xuzuning(唠叨) 
    我的URL保存在数组里,我输出这个数组里的URL是正确的,但我把这数组值放fopen时切不能打开,放非数组的切可以。
      

  4.   

    你输出的地址
    http://bbs.yam.com/bin/dir?gid=318&amp;type=0
    是不对的
    &amp;因该是&