0
の誤差が、私は3、file_get_contents
、curl
& 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;
}
}
に関して、
私が言及するのを忘れてしまったもう一つは、私はインデックスページで同じ関数を呼び出した場合、それは罰金ないということです、 –
いくつかのデバッグを行った後、私は、ブラウザが「接続が表示さ ことがわかりました '$ result = preg_match_all($ pattern、$ content、$ feedUrls);' を呼び出すと、「リセットされました」というエラーが表示されます。 '$ content'には' readRemoteFile'関数によって返されるHTMLが含まれています。 誰かがなぜそれが起こっているのか知っていますか? よろしくご協力ありがとうございます。 –
@ jey-keu preg_match_allはあなたが投稿したソースコードにありません。だから私は分かりません。 – Ariel