У меня есть некоторый код, чтобы получить некоторые общественности имеющихся данных, которые я забирающие с сайтаошибки ручки в простом HTML DOM
//Array of params
foreach($params as $par){
$html = file_get_html('WEBSITE.COM/$par');
$name = $html->find('div[class=name]');
$link = $html->find('div[class=secondName]');
foreach($link as $i => $result2)
{
$var = $name[$i]->plaintext;
echo $result2->href,"<br>";
//Insert to database
}
}
Так что идет на данном веб-сайт с другим параметром в URL каждый раз, когда на цикл, я продолжаю получать ошибки, которые нарушают сценарий, когда появляется 404 или сервер временно недоступен. Я попробовал код, чтобы проверить заголовки и проверить, является ли $ html объектом первым, но я все еще получаю ошибки, есть ли способ, которым я могу просто пропустить ошибки и оставить их и продолжить с помощью скрипта?
код я попытался проверяемых заголовки
function url_exists($url){
if ((strpos($url, "http")) === false) $url = "http://" . $url;
$headers = @get_headers($url);
//print_r($headers);
if (is_array($headers)){
//Check for http error here....should add checks for other errors too...
if(strpos($headers[0], '404 Not Found'))
return false;
else
return true;
}
else
return false;
}
код я попытался проверить, если объект
if (method_exists($html,"find")) {
// then check if the html element exists to avoid trying to parse non-html
if ($html->find('html')) {
// and only then start searching (and manipulating) the dom
не удалось открыть поток: HTTP запрос не удалось! HTTP/1.1 503 Service Временно недоступен, или он дает 404. Связывание, которое он ломает, - это foreach ($ link as $ i) – Bren
Отредактировано мое первоначальное сообщение, так как вы добавили фактическую ошибку и где она встречается –
Я изменил кавычки и устали, если ($ html! == false) запустите цикл, но я все равно получаю много ошибок, когда определенная страница возвращается как 404 или недоступна и разбивает скрипт – Bren