Php curl、fopen&;文件“U获取”内容随机抛出;“连接已重置”;浏览器中的错误

Php curl、fopen&;文件“U获取”内容随机抛出;“连接已重置”;浏览器中的错误,php,curl,fopen,file-get-contents,Php,Curl,Fopen,File Get Contents,我试过3个,文件获取内容,卷曲&fopen,但问题是我随机得到了“连接被重置”错误,我的意思是如果它对url A有效,但对url B无效 任何帮助都将不胜感激 代码如下: function readRemoteFile($url, $use = FOP) { $url = urldecode($url); switch ($use) { case FOP: $handle = fopen($url, 'r'); while (!feof($handle)

我试过3个,
文件获取内容
卷曲
&
fopen
,但问题是我随机得到了“连接被重置”错误,我的意思是如果它对url A有效,但对url B无效

任何帮助都将不胜感激

代码如下:

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

关于这一点:

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

我忘了提到的另一件事是,如果我在索引页上调用相同的函数,它会很好,在进行一些调试后,我发现在调用
$result=preg\u match\u all($pattern,$content,$feedurl)后,浏览器显示“连接被重置”错误
其中,
$content
包含由
readRemoteFile
函数返回的html。有人知道为什么会这样吗?您好,@jey keu preg_match_all不在您发布的源代码中,所以我不知道。好的,下面是我正在做的//从$url$content=readRemoteFile($url)读取页面内容(html)$pattern=“某种模式”$匹配=数组()$结果=预匹配所有($pattern,$content,$matches);如果($result){//I do stuff here}我在某个地方读到,如果
$subject
(第二个参数)包含一个大字符串,则
preg\u match\u all
将失败。现在请忽略
preg\u match\u all
部分,因为我不再需要它,我实际上想做的是解析
$content
中的html。对不起,根据您提供的信息,我无法诊断问题。试着用源代码的完整内容开始一个新问题。另外,看看您的日志文件——可能是php或您的Web服务器正在记录一些东西。