curl, fopen & file_get_contents Произвольно выдает ошибку «Соединение было сброшено» в браузере - PullRequest
0 голосов
/ 25 июля 2011

Я пробовал 3, file_get_contents, curl & fopen, но проблема в том, что я получаю ошибку "Соединение было сброшено" случайно, я имею в виду, если она работает для URL-адреса А, но не работает с URL-адресом В.

Любая помощь будет оценена.

Вот код:

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;
}

}

С уважением,

1 Ответ

0 голосов
/ 25 июля 2011

Это:

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);
...