Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ip2long работает по-разному, это нормально?
 
 автор: sergmust   (07.07.2007 в 20:27)   письмо автору
 
 

Всем здравствуйте!

Один и тот же скрипт

<?php
echo(ip2long('222.222.222.222'));
?>

на одном моем сайте дает 3739147998, на другом дает отрицательное -555819298

Хостеры говорят:
Есть так же куча нюансов от версии php к версии. Не нужно пытаться их все
учесть - важно вместо этого использовать стандартные методы работы с данными
в обход недокументированных возможностей.

и предлагают использовать sprintf с u

неужели просто использование ip2long - недокументированная штука?

   
 
 автор: kasmanaft   (07.07.2007 в 21:37)   письмо автору
 
   для: 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

   
 
 автор: Sergmust   (07.07.2007 в 21:47)   письмо автору
 
   для: kasmanaft   (07.07.2007 в 21:37)
 

Спасибо!

на самом деле фенька не в этом, а в том что на 64-битных системах возвращается без знака, а на 32 - со знаком. Во как.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования