Запрет php_network_getaddresses: getaddrinfo не удалось:

Я пытаюсь вызвать URL с помощью PHP, чтобы проверить, существует ли он и доступен ли он.

Мой начальный код был

fopen('http://'.$this -> url, 'r');

Но он выдает следующие ошибки каждый раз, когда URL недоступен:

fopen(http://dwzegdzgwedzgew.com): failed to open stream: php_network_getaddresses: getaddrinfo failed
php_network_getaddresses: getaddrinfo failed:

Оператор ошибки (@) в этом случае игнорируется, поскольку ошибка выдается не самим fopen, а при разрешении адреса. Вот я и подумал, что должен это сделать:

 @fopen(@'http://'.$this -> url, 'r');

но это также продолжает бросать ошибку.

Есть ли возможность без ошибок проверять, существует ли URL в PHP, прежде чем открывать его?

1

Решение

Что такое сообщение об ошибке с $ressource = @fopen('http://' . $this->url, 'r'); ?

<?php$urls = array('kihgkighuhgkig.li', 'google.com', 'adsfafdf.fr');
foreach ($urls as $url)
{
if (gethostbyname($url) != $url)
{
$ressource = fopen('http://' . $url, 'r');
var_dump($url, $ressource);
}
}

Выход:

$> php test.php
string(10) "google.com"resource(6) of type (stream)
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]