Как на PHP сделать короткие пинги на сайты?

A
На сайте с 20.09.2009
Offline
64
656

Задача.

Нужно на PHP отправить короткие пинги на сайты. То есть не дожидаться когда загрузится полностью ответ сайта, сама страница. Достаточно только передать команду (пинг) удаленному серверу ну и подождать максимум 5 секунд.

Как это лучше сделать на PHP?

Бесплатный хостинг - 150 MB Disk Space, 4 GB Monthly Traffic, 1 Domain Hosting, MySQL(v.4/5), PHP4/5, Perl, CGI-BIN (http://a-online.org.ua) БЕСПЛАТНЫЙ ХОСТИНГ - безлим. трафик, 3 GB под сайт, PHP, MySQL, cPanel, FTP (http://www.free-web-host.me/?ref=27772)
siv1987
На сайте с 02.04.2009
Offline
427
#1

curl

fsockopen

exec ping

LEOnidUKG
На сайте с 25.11.2006
Offline
1725
#2

CURL, в нём TIMEOUT указать 5 сек или сколько там надо.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
IL
На сайте с 20.04.2007
Offline
435
#3

Чтоб трафик не гонять, можно HEAD-запрос отправить

curl_setopt($ch, CURLOPT_NOBODY, true);

p.s. что имеется ввиду под ping-ом?

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
dkameleon
На сайте с 09.12.2005
Offline
386
#4

не знаю, как на курле, но на сокетах можно просто отправить заголовок и закрыть коннект:


function CronEmulator($url, $flag, $period) {
if (!file_exists($flag)) { return false; }

$last_exec = file_get_contents($flag);
if (intval($last_exec) + $period < time()) {
$f = fopen($flag, "w");
fwrite($f, time());
fclose($f);

$params = parse_url($url);
$fp = fsockopen($params["host"], 80, $errno, $errstr, 30);
if ($fp) {
$out = "GET ".$params["path"]."?".$params["query"]." HTTP/1.1\r\n";
$out .= "Host: ".$params["host"]."\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
fclose($fp);
return true;
}
}

return false;
}
Дизайн интерьера (http://balabukha.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий