file_get_contents获取远程文件时, 怎么判断是否404呢?O(∩_∩)O谢谢。

解决方案 »

  1.   

    不太好办改用cURL来抓去远程文件吧
      

  2.   

    $s = @file_get_contents($url);
    if(strlen($s) == 0) 
      echo '文件找不到';
      

  3.   

    判断长度,好像不行
    echo strlen(file_get_contents('http://www.taobao.com/29834127341293419231347'));
      

  4.   

    file_get_contents不知道怎么办了如果换个思路,用fsockopen,来请求目标网址,倒是可以取得 header供参考,仅实现功能,考虑比较简单,如果需要,可以顺手把目标网址内容也提取了$url = 'http://www.taobao.com/29834127341293419231347';
    $urlInfo = (parse_url($url));$header = "GET $url HTTP/1.0\r\n";
    $header .= "Accept: */*\r\n";
    $header .= "Cache-Control: no-cache\r\n";
    $header .= "User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . "\r\n";
    $header .= "Host: " . $urlInfo['host'] . "\r\n";
    $header .= "Connection: Close\r\n";
    $header .= "\r\n";$fp = @fsockopen($urlInfo['host'], 80, $errno, $errstr, 30 );
    fputs($fp, $header);
    if(!feof($fp))
    {
    echo fgets($fp, 4096);
    }
    fclose($fp);
      

  5.   

    前面$header    = "GET $url HTTP/1.0\r\n";这个有点问题,需去掉前面的http://host部分