0

1)我正在使用wordpress引擎。2)我有一个数字数组(),其中包含 800 多个链接,就像这样。

我要做的是运行 foreach() 函数并检查链接是否仍然存在(不返回 404 错误)。

我尝试了2个功能:

1)

<?php
foreach($links as $link) {
    $file_headers = @get_headers($link);
    if(strpos($file_headers[0],'404') === false) {
        $toDeleteLinks[] = $link;
    }
}
?>

所以根据第一个函数,$toDeleteLinks 数组应该包含所有返回 404 错误的链接。在这里使用 get_headers() 函数...

2)

<?php
foreach($links as $link) {
    $handle = curl_init($link);
    curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);
    $response = curl_exec($handle);
    $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
    if($httpCode != 404) {
        $toDeleteLinks[] = $link;
    }
    curl_close($handle);
}
?>

第二个应该只使用 cURL 做同样的事情。

但是在这两种情况下,我都会被重定向到 wordpress 404.php 页面((。我认为这是因为链接数量很大。

你能帮我解决这个问题吗?使用另一个功能,或者但是......

谢谢。

4

0 回答 0