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 ((. Думаю, это из-за большого количества ссылок.
Можете ли вы помочь мне получить решение для этого? Используйте другую функцию вместо или однако …
Благодарю.
Задача ещё не решена.
Других решений пока нет …