检查外部URL是否正在运行PHP或JS

时间:2016-05-26 17:13:15

标签: javascript php curl get-headers

我有一个包含1000多个外部链接的php数字数组。你能帮我找出一个PHP或JS函数,它会循环遍历每个链接并检查它是否正常工作?创建数组并包含不再有效的链接。

目前我正在使用此代码:

$links = array(
    'http://google.com',
    'http://example.com',
    'http://awkrlalrno1in01n2rn12r12r.com',
    'http://112om1om1om.ru'
);

foreach($links as $link) {
    if($file_headers = @get_headers($link)) {
        if(strpos($file_headers[0],'404') !== false) {
            $toDeleteLinks[] = $link;
        }
    }elseif($handle = curl_init($link)) {
        curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);
        //Get the HTML or whatever is linked in $url.
        $response = curl_exec($handle);
        //Check for 404 (file not found).
        $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
        if($httpCode == 0) {
            $toDeleteLinks[] = $link;
        }
        curl_close($handle);
    }
}

if(isset($toDeleteLinks)) {
    echo '<pre>';
    print_r($toDeleteLinks);
    echo '</pre>';
}

但它给出了500内部服务器错误..似乎服务器无法处理这么多请求,因为我已经尝试创建一个包含4个链接的数组,2个 - 正确的链接,2个不正确的链接和功能充当魅力。

我要把听到的声音从头脑中拉出来,所以请帮忙:D提前致谢!

0 个答案:

没有答案