Я пытаюсь вызвать 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, прежде чем открывать его?
Что такое сообщение об ошибке с $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)
Других решений пока нет …