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 页面((。我认为这是因为链接数量很大。
你能帮我解决这个问题吗?使用另一个功能,或者但是......
谢谢。