Чтобы знать, что сайт не работает, вам нужно попытаться получить от него некоторые данные (веб-страницу, изображение и т. Д.) И использовать тайм-аут.Если в течение этого периода данные не возвращаются, предположим, что они не работают.
Вот простой способ:
<?php
ini_set('default_socket_timeout', 5);
function getNetworkStatus(url) {
return ( file_get_contents(urlencode($url)) !== false )
}
?>
Проблема в том, что вы не можете просто продолжать запрашивать удаленный сервер, так какдобавит большую задержку к вашей странице / приложению - вам нужно будет кэшировать эту информацию в течение определенного периода времени (база данных, файл и т. д.).