$url=$_GET[dizhi];
$fp=fopen($url,"r ") or die("错误");
$result=file_get_contents($url);
$_GET[dizhi];是别的页面传来的,值输出来时正确的,复制到网页上可以打开,但是$result=file_get_contents($url);
却失败了,求救!!
出现如此错误:
failed to open stream: No such file or directory in D:\APMServ5.2.6\www\htdocs\xuanze.php on line 12

解决方案 »

  1.   

    比如http://slide.sports.sina.com.cn/
      

  2.   

    传过来的值中是不是其它符号啊,如空格等,你最好传过来先过滤一下,要不你把显示出来的地址复制再echo file_get_contents();
      

  3.   

    你给的网址我这边没问题先把$url=$_GET[dizhi];改成$url=$_GET["dizhi"];试一下
      

  4.   

    改了也不行,我把代码贴出来
    <?
    $url="http://slide.photo.sina.com.cn/";
    $fp=fopen($url,"r ") or die("错误");
    $result=file_get_contents($url);
    $mode="#<li><a href=\"(.*)\">(.*)</a></li>#U";
    preg_match_all($mode,$result,$ra);
    //print_r($ra);
    foreach($ra[2] as $id=>$value)
    {
    ?>
    <a href="xuanze.php?dizhi= <? echo $ra[1][$id];?>"><? echo $value;?></a>
    <?
    echo "&nbsp;"."&nbsp;";
    }?>
    这是第一个
      

  5.   

    <?
    echo $_GET[dizhi];
    $url=$_GET["dizhi"];
    $result=file_get_contents($url);
    $mode="#(?<=blank\">)(<img src=.*?)(?=</a>)#";
    preg_match_all($mode,$result,$arr);
    $mode2="#(?<=title=\")(.*?)(?=\" subtitle=\")#";
    preg_match_all($mode2,$result,$arr2);
    $i=0;
    $j=0;
    echo "<table  border='1'>";
    echo "<tr>";
    while($arr[0][$i]!="")
    {
    echo "<td>"."号码:".$i."</td>";
    echo "<td>"."图片:".$arr[0][$i]."</td>";
    echo "<td>"."名称:".$arr2[0][$i]."</td>";
    $i++;
    $j++;
    if($j>4)
    {
    echo "</tr>";
    echo "<tr>";
    $j=0;
    }
    }
    echo "</tr>";
    echo "</table>";
    ?>
    这是接收的页面
      

  6.   

    你确定allow_url_fopen在php.ini中配置了吗?phpinfo()看下把!
      

  7.   


    在php.ini中,直接搜索allow_url_fopen,就能看到!
      

  8.   

    $url=$_GET["dizhi"];
    把引号去掉