2011-07-25 4 views
0

の誤差が、私は3、file_get_contentscurl & fopen試してみましたが、問題は、私はランダムに「接続がリセットされました」というエラーが表示されますされ、「接続がリセットされた」スロー、私はそれならば意味しますURL Aで動作しますが、URL Bで失敗します。カール、関数fopen&のfile_get_contentsがランダムにブラウザ

助けてください。

相続コード:

function readRemoteFile($url, $use = FOP) { 
$url = urldecode($url); 
switch ($use) { 
    case FOP: 

     $handle = fopen($url, 'r'); 
     while (!feof($handle)) { 
      $content.=fread($handle, 2048); 
     } 
     return $content; 
     break; 
    case FGC : 

     if (!$handle = file_get_contents($url)) { 
      return FALSE; 
     } else { 
      while ($chunk = fread($handle, 2048)) { 
       $content .= $chunk; 
      } 
      fclose($handle); 
      return $content; 
     } 
     break; 
    case CURL : 
     $ch = curl_init(urldecode($url)); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     ob_start(); 
     $c = curl_exec($ch); 
     curl_close($ch); 
     ob_end_clean(); 
     return trim($c); 
     break; 
} 

}

に関して、

答えて

0

この:

case FGC : 

    if (!$handle = file_get_contents($url)) { 
     return FALSE; 
    } else { 
     while ($chunk = fread($handle, 2048)) { 
      $content .= $chunk; 
     } 
     fclose($handle); 
     return $content; 
    } 

が間違っています。それは次のようになります。

case FGC : 
    return file_get_contents($url); 
+0

私が言及するのを忘れてしまったもう一つは、私はインデックスページで同じ関数を呼び出した場合、それは罰金ないということです、 –

+0

いくつかのデバッグを行った後、私は、ブラウザが「接続が表示さ ことがわかりました '$ result = preg_match_all($ pattern、$ content、$ feedUrls);' を呼び出すと、「リセットされました」というエラーが表示されます。 '$ content'には' readRemoteFile'関数によって返されるHTMLが含まれています。 誰かがなぜそれが起こっているのか知っていますか? よろしくご協力ありがとうございます。 –

+0

@ jey-keu preg_match_allはあなたが投稿したソースコードにありません。だから私は分かりません。 – Ariel

関連する問題