аналог inet_aton или реализация ее

kaiser Zaido

Новичок
аналог inet_aton или реализация ее

В perl есть такая функция inet_aton
inet_aton (hostname)
Translates a hostname such as www.oreilly.com or 18.181.0.24 into a data structure (a four-byte string) used for socket addresses. If the hostname cannot be resolved, the function returns the undefined value.
Какой ее аналог в php??
Казалось бы ip2long, но это не так ((
Вот что отдает эта функция на скрипте
use Socket;
print "Content-type: text/html\n\n";
# Дальше выводим тело документа.
print "It works!";
$ServerIP=inet_aton("zaido.net");
print $ServerIP;print "<br>";
print "It works!";
$ServerIP=inet_aton("localhost");
print $ServerIP;
http://omik.ware.ee/cgi-bin/test.pl

Ну лишнее будет говорить что ip2long вернет циферки....
Как быть?
Наверное можно перейти от циферок к бинарному формату с помощью pack, но я незнаю как именно надо их запаковать....

жду помощи...
 

Фанат

oncle terrible
Команда форума
если вы хотите помощи в пхп, то не надо рассказывать про функции в других языках.
постарайтесь (если вам это доступно) изложить свою задачу простым русским языком.

-~{}~ 22.07.05 18:11:

Месье понимает разницу между hostname such as www.oreilly.com и ip адресом?
 

Profic

just Profic (PHP5 BetaTeam)
PHP:
function inet_aton($ip) {
  $str = '';
  $chunks = explode('.', $ip);
  for ($i = 0; $i < count($chunks); ++$i) {
    $str .= chr($chunk[$i]);
  }
  return $str;
}
:)
 

kaiser Zaido

Новичок
конечно перед тем как использовать ip2long я получаю адрес...
а о функции я рассказал чтобы было максимально понятно что хочется получить...

как написано в описании функции "for socket addresses" вот собственно в этом же русле мне необходимо использовать ее результат и в пхп. Чтобы передать по сокету информацию про ip необходимо ее закодировать в бинарный формат. В перле это делают так, а как в пхп я не знаю...

+ я незнаю по какому формату кодируется ip чтобы передавать его по сокетам, а такой формат вероятно есть - потому что такую кодировку поддерживают socks4 и socks5...

если что-то неясно, то задайте мне конкретные вопросы и я постараюсь ответить на них...
 
Сверху