0

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 よろしくお願いします!

4

0 に答える 0