shell_exec() Есть вопрос

zIP

Новичок
shell_exec() Есть вопрос

Есть функция
Код:
function ping($PC,$ip){ 

                   $cmd=shell_exec("ping -n 1 -w 1 $ip"); 

                   $dati_mount=explode(",",$cmd); 
                  $module_name = basename(dirname(__FILE__)); 
                  if (eregi ("0", $dati_mount[1], $out))..... 
                  if (eregi ("1", $dati_mount[1], $out)).....

Пингуем IP адреса и в зависимости от результата выполняем последующие действия в двух последних строчках.

А вопрос такой: Нельзя ли просканировать аналогичным способом веб-адреса вида http://domain.com

-~{}~ 29.12.05 10:59:

Нужно сделать функцию, которая бы сканировала Веб-адреса и возвращала значение да(1) или нет(0)

А с чего начать не знаю. Т.е. с ИП все ясно а вот с http большой вопрос.
 

serglt

Анус, ой, Ахтунг
Дык это же просто, там же не обязательно адрес нужен IP просто пиши без http:// имя хоста и все :)
пример: ping -c 1 -w 1 phpclub.ru
 

zIP

Новичок
А если в локальной сети адреса в виде доменов есть не у всех то как тогда проверить доступен веб адрес или нет?
 

serglt

Анус, ой, Ахтунг
Можешь конечно попробовать еще что нить типа
PHP:
function ping ($url)
{
    $h = @fopen ($url, "r");
    $fl = $h != NULL;
    if ($fl) @fclose ($h);
    return $fl;
}

echo ping ("http://phpclub.ru");
-~{}~ 29.12.05 13:49:

А еще есть чудо функция
http://php.net/manual/ru/function.gethostbyname.php
 

zIP

Новичок
Я совсем запутался.

Есть вот такая функция
PHP:
function ping($PC,$ip){

$cmd=shell_exec("ping -n 1 -w 1 $ip");

  $dati_mount=explode(",",$cmd);
  $module_name = basename(dirname(__FILE__));
  if (eregi ("0", $dati_mount[1], $out)) {$connesso="<img src=\"modules/$module_name/images/off.gif\">";}
  if (eregi ("1", $dati_mount[1], $out)) {$connesso="<img src=\"modules/$module_name/images/on.gif\">";}

  $esito="$connesso [$ip] <b>$PC</b><br><br>";
return $esito;
}

while(list($k,$v)=each($ips_array)){
 $dati_ip=explode(":",$v);
 $ifg1 = "";
 $esito=ping($dati_ip[0],$dati_ip[1]);
 echo "<a href=http://$dati_ip[1]>$esito</a>";

}
 echo base64_decode ($ifg1);
}
Может кто просто подскажет какие сделать изменения, чтобы проверялся не пинг, а доступность веб-сервера по IP.
 

Vladson

Сильнобухер
Чисто косметическое замечание, начиная с РНР 4.0.0
PHP:
while(list($k,$v)=each($ips_array))
это тоже самое что
PHP:
foreach($ips_array as $k=>$v)
 

whirlwind

TDD infected, paranoid
>доступность веб-сервера по IP

Если работоспособность именно веб-сервера, то открыть через сокет и запросить HEAD напримр на корень.
 

zIP

Новичок
>Если работоспособность именно веб-сервера, то открыть через сокет и запросить HEAD напримр на корень.

А как? Если можно то пример.
 
Сверху