[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php ping
serjio_5
<?php 
$ip = '10.1.1.100';
system("ping $ip -n 1");
?>

=>результат
ЋЎ¬Ґ* Ї ЄҐв ¬Ё б 10.1.1.100 Ї® б 32 Ў ©в ¬Ё ¤ **ле: ЋвўҐв ®в 10.1.1.100: зЁб«® Ў ©в=32 ўаҐ¬п<1¬б TTL=63 ‘в вЁбвЁЄ Ping ¤«п 10.1.1.100: Џ ЄҐв®ў: ®вЇа ў«Ґ*® = 1, Ї®«гзҐ*® = 1, Ї®вҐап*® = 0 (0% Ї®вҐам) ЏаЁЎ«Ё§ЁвҐ«м*®Ґ ўаҐ¬п ЇаЁҐ¬ -ЇҐаҐ¤ зЁ ў ¬б: ЊЁ*Ё¬ «м*®Ґ = 0¬бҐЄ, Њ ЄбЁ¬ «м*®Ґ = 0 ¬бҐЄ, ‘।*ҐҐ = 0 ¬бҐЄ
как исправить это.
[QUOTE=b3]serjio_5 читайте iconv
вот код правда использовал функцию не iconv
а результат тот же.
<?php 
$array = array();
$result = exec("ping yahoo.com -n 4", $array);
$result = implode("<br/>",$array);
$result = convert_cyr_string($result,"windows-1251","UTF-8");
echo $result;
?>

результат=>
ЧѕЅЧ њЧ 206.190.36.45: ЪіВќњ ®љїЧ=32 ѕБЅ.Р=194.В TTL=49
.ЧѕЅЧ њЧ 206.190.36.45: ЪіВќњ ®љїЧ=32 ѕБЅ.Р=194.В TTL=49
.ЧѕЅЧ њЧ 206.190.36.45: ЪіВќњ ®љїЧ=32 ѕБЅ.Р=277.В TTL=49
.ЧѕЅЧ њЧ 206.190.36.45: ЪіВќњ ®љїЧ=32 ѕБЅ.Р=193.В TTL=49
а если не перекодировать то так
ЋвўҐв ®в 98.139.183.24: зЁб«® Ў ©в=32 ўаҐ¬п=146¬б TTL=51
ЋвўҐв ®в 98.139.183.24: зЁб«® Ў ©в=32 ўаҐ¬п=145¬б TTL=51
ЋвўҐв ®в 98.139.183.24: зЁб«® Ў ©в=32 ўаҐ¬п=148¬б TTL=51
ЋвўҐв ®в 98.139.183.24: зЁб«® Ў ©в=32 ўаҐ¬п=139¬б TTL=52
перекодировка не че не дала ,думаю что дело тут в другом,потскажито кто знает как исправить.
локальный хост на денвере,винда семерка,системный язык русский.

_____________
«Господи, дай мне терпения не пытаться изменить то, чего я не в силах изменить, мужества, изменить то что могу, и мудрости всегда отличать одно от другого!»
zelenuy
Я так понимаю надо узнать какую кодировку использует консоль
Кодировка CP-866
<?
header("Content-Type: text/html; charset=cp866");
$ip = '10.1.1.100';
system("ping $ip -n 1");
?>

Или так
<?
header("Content-Type: text/html; charset=utf-8");
$res = shell_exec("ping 10.1.1.100 -n 1");
echo iconv("CP866", "UTF-8", $res);
?>

Вот еще
<?
header("Content-Type: text/html; charset=utf-8");
$res = exec("ping ya.ru -n 1");
echo iconv("CP866", "UTF-8", $res);
?>
serjio_5
Спасибо,как оказалось все так просто,думаю что моя ошибка в том что я не брал в расчет кодировку консоли cp866? но я не программист,просто увлекаюсь *вебом* из которого даю предпочтение php и js.

_____________
«Господи, дай мне терпения не пытаться изменить то, чего я не в силах изменить, мужества, изменить то что могу, и мудрости всегда отличать одно от другого!»
Zzepish
serjio_5
это не совсем веб.
serjio_5
я все таки думаю,хоть могу ошибаться что все это обеспечивает работу клиентской стороны то бишь веб* браузера, поэтому и причислил к веб* технологиям.
Думаю даже что ранние чистые языки программирования и те сейчас в большинстве своем склоняются(адаптируется) к веб-у. с++=>c# ну и так дали-е.

_____________
«Господи, дай мне терпения не пытаться изменить то, чего я не в силах изменить, мужества, изменить то что могу, и мудрости всегда отличать одно от другого!»
Zzepish
serjio_5
не. system- системная команда, которая выполняется ОСью
serjio_5
Цитата (Zzepish @ 12.03.2014 - 01:39)
serjio_5
не. system- системная команда, которая выполняется ОСью

Спасибо ,извините сразу не понял о чем Вы.

_____________
«Господи, дай мне терпения не пытаться изменить то, чего я не в силах изменить, мужества, изменить то что могу, и мудрости всегда отличать одно от другого!»
serjio_5
zelenuy
вот нашел скрипт для пинга с браузера,но че то не работает,не принимает в введенный в форму ип адрес,если можешь поправь.
<?php
//вот только добавил для отображении правильной кодировки
header("Content-Type: text/html; charset=cp866");
//ping tool
$ping_ip_addr = $_GET['Host'];
$ping_count = $_GET['Count'];
$ping_size = $_GET['Size'];
//тут поправил *ping -с* так как использую скрипт для винды
$result = explode("\n", `ping -n $ping_count $ping_size
$ping_ip_addr
`);

print "<pre>";

foreach($result as $val) {
print "$val<br>";
}

print "</pre>";

?>

<font face="verdana" size="2"><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
IP Address: <input type="text" name="Host" />
Count: <input type="text" name="Count" value="5" />
Size: <input type="text" name="Size" value="32" />
<
input type="submit" value="Ping Host" name="Submit" />
</
form>

во шо выдает
Обмен пакетами с 0.0.0.32 по с 32 байтами данных:
PING: сбой передачи. General failure.
PING: сбой передачи. General failure.
PING: сбой передачи. General failure.
PING: сбой передачи. General failure.
PING: сбой передачи. General failure.

Статистика Ping для 0.0.0.32:
Пакетов: отправлено = 5, получено = 0, потеряно = 5
(100% потерь)


_____________
«Господи, дай мне терпения не пытаться изменить то, чего я не в силах изменить, мужества, изменить то что могу, и мудрости всегда отличать одно от другого!»
Быстрый ответ:

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