[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP ping (Помогите дописать скрипт плиз)
TriSTaR
Всем привет, нужна ваша помощь чтобы дописать скрипт правильно... У нас в компании есть свой сайт баз данных где мы узнаём кто в каком кабинете сидит, какой у него ip, телефон номер кабинета и т.г.
user posted image
Есть задача, мы хотим узнать подключился ли пользователь к сети, если подключен то рисунок компьютера будет в синем цвете как на рисунке, а если он не подключен загарится на красным. Я не особо шарю в php, но нашел в интернете такой скрипт:
<?php
$str = exec("ping -c 1 www.google.com");
if ($result == 0){
echo "ping succeeded";
}else{
echo "ping failed";
}
?>

Как его переделать так чтобы он пинговал все айпи адреса которое существуют у нас на базе.
user posted image
TriSTaR
Хоть кто нибудь помогите пожалуйста sad.gif
AllesKlar
Ну как тебе помочь, если ты не шаришь в php?
Это же будет общение двух существ с разных планет.

Есть база, пиши код, который читает все ip из базы и в цикле их пингует.
Либо дай какому-нидь студенту 5 баксов, он тебе сделает с радостью.




_____________
[продано копирайтерам]
bestxp
Можно конечно немного подругому пойти

если знаем что за ос, например если это Windows попробовать открыть telnet до винлы через fscocket и если открылся то онлайн или если линукс то на ssh порт 25 вроде

ну или на другие порты которые всегда доступны под нужной ос) так ты быстрее узнаешь что отлайн или нет чем пытаться пинговать
TriSTaR
Нашел ещё один способ.. Простите чайника, но куда их прописать для того чтобы они начали работать...

$ip_address = [...]; \\ массив ip  из БД, предполагаю, что ключи - id пользователей из БД
$successful = [];
foreach($ip_address as $id => $ip){
   $successful[$id ] = exec("ping -c 1 ".$ip);
}
 

приведу пример как сделан наш скрипт:
<?php
foreach($test as $value){
echo "<img src='".base_url('images/computer.png')."' width='37px' height='33px' style='margin-top: ".$value->Y."px;
margin-left: "
.$value->X."px; position: absolute;' onmouseover='tooltip(this, \"Имя: <b>".$value->name."</b></br>
IP-аддресс: <b>"
.$value->ip_address."</b></br>Mac-аддресс: <b>".$value->mac_address."</b></br> Почта: <b>".$value->Pochta."</b>
</br> Тел. номер: <b>"
.$value->Tel."</b>\")' onmouseout=\"hide_info(this)\" />";
}
?>

user posted image
TriSTaR
Я верстальщик html 5, css 3... Я буду изучать php, но пока заданию не до делаю не смогу unsure.gif
AllesKlar
Еще раз:
Либо дай студенту какому-нидь на колбасу пару рублей.
Либо ты готов провести тут неделю в мучительном переделывании своего кода?
План занятий:
1. Подключение к базе данных.
2. Чтение данных из базы данных.
3. Передача значений из скрипта php в шаблон html
4. Условный оператор в шаблонах html

Хотя, есть тут пара альтруистов у которых дофига свободного времени. Подожди их, может и напишут.

_____________
[продано копирайтерам]
Kusss
лучше в крон запихнуть, и время прописать в минуту.
Пусть крутиться на серваке и статус пишет в базу.

Если сервак на UNIX, нагуглил вот это ...
function pingAddress($ip) {
$pingresult = exec("/bin/ping -n 3 $ip", $outcome, $status);
if (0 == $status) {
$status = "alive";
} else {
$status = "dead";
}
return $status;
}

foreach ($ip_array AS $ip){
// тут создать запрос к базе
// и записать туда это - pingAddress($ip);

}
AllesKlar
Kusss
Ну тыжежь внимательнее пост ТС читай.
Твой ответ для него в стиле:
user posted image

TriSTaR
Ты уже подключение к базе освоил? Работает? Полдня прошло.
Если еще нет, то вот cсыль http://php.net/manual/ru/mysqli.construct.php

_____________
[продано копирайтерам]
TriSTaR
Я тут смотрю у меня нету выбора, придется учить php. (Хоть для себя будет полезным). А за ответы спасибо большое... Кстати, сервер на Уникс только вот на одном сервере несколько сайтов
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.