|
|
|
| Всем здравствуйте!
Один и тот же скрипт
<?php
echo(ip2long('222.222.222.222'));
?>
на одном моем сайте дает 3739147998, на другом дает отрицательное -555819298
Хостеры говорят:
Есть так же куча нюансов от версии php к версии. Не нужно пытаться их все
учесть - важно вместо этого использовать стандартные методы работы с данными
в обход недокументированных возможностей.
и предлагают использовать sprintf с u
неужели просто использование ip2long - недокументированная штука? | |
|
|
|
|
|
|
|
для: sergmust
(07.07.2007 в 20:27)
| | С мануала...
Замечание: Because PHP's integer type is signed, and many IP addresses will result in negative integers, you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address.
В переводе практически и означает то, что Вам сказали хостеры
http://php.net/ip2long | |
|
|
|
|
|
|
|
для: kasmanaft
(07.07.2007 в 21:37)
| | Спасибо!
на самом деле фенька не в этом, а в том что на 64-битных системах возвращается без знака, а на 32 - со знаком. Во как. | |
|
|
|