有一个地方写错了:
但我将同样的参数:$str的值复制到浏览器的地址栏内

解决方案 »

  1.   

    stream_context_create()用上面的试试看看怎么样
      

  2.   

    我本地测试没有超过10秒。可能与网速有关,
    另一方面把max_execution_time 30 30 这设置长些,后面这是我本地的;
    我的测试环境是:PHP Version 5.1.4+apache 2.0.52+window XP+IE6.0
    我用下面的试过似乎要快一些;
    $str = 'http://webservices.amazon.co.uk/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=16T2C8QSBJEA74PXY1R2&SearchIndex=Electronics&Operation=ItemSearch&BrowseNode=560836&Sort=reviewrank&ResponseGroup=Small,Images,OfferFull,Reviews';
    //echo file_get_contents($str);
    $fp = fopen($str, "r");
    while (!feof($fp))
    {
    echo fgets($fp, 4096);
    }
      

  3.   

    怀疑是php版本问题,或者php与windows的冲突。
      

  4.   

    如果file_get_contents()是一个不存在的页面,返回值会有几秒?有人试过嘛?我现在也需要一个这样的用法,我有一个内容是需要读别的服务器上的内容,现在如果那台服务器有问题的话,我的程序会一直等下去,等了N久后报错我用的是stream_context_create()我现在想判断一下那个页面存不存在,然后再执行相应的操作,用file_get_contents()行不?如果不行应该用哪个?
      

  5.   

    我现在想判断一下那个页面存不存在,然后再执行相应的操作,用file_get_contents()--------------------------
    if(!fopen($url))
    {
        echo "No such file!";
    }
    else
    {
       $str = file_get_contents($url);
    }
      

  6.   

    既然将$curl_url复制到浏览器的地址栏内,然后运行时,它却很快地返回了数据,只用了不到1秒钟
    那么就说明url真实存在1、确认服务器到目标地址间惟有代理服务器
    2、检查状态 allow_url_fopen=On
      

  7.   

    谢谢,再问一下,读取远程文件内容的最快方式是什么?
    fets()
    file_get_contents()
    甚至还有stream_context_create()等等,哪种是最快速的?
      

  8.   

    顶!zeroleonhart(Strong Point:Algorithm) ( ) 说的是FOPEN我试了在0.3秒左右
      

  9.   

    真的是上网的原因造成的,我改用stream_context_create来增加了代理之后,发现可以读取内容了。
    <?php
     // Define a context for HTTP.
     $aContext = array(
       'http' => array(
           'proxy' => 'tcp://10.0.0.10:8080',//代理设置 
           'request_fulluri' => True,
           ),
       );
     $cxContext = stream_context_create($aContext);
     $str = "http://webservices.amazon.co.uk/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=16T2C8QSBJEA74PXY1R2&SearchIndex=Electronics&Operation=ItemSearch&BrowseNode=560836&Sort=reviewrank&ResponseGroup=Small,Images,OfferFull,Reviews";
     echo file_get_contents($str, false, $cxContext);
    ?>