Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: От чего зависит результат crc32() на разных серверах?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
LShark
Отправлено: 26 Апреля, 2013 - 19:18:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Возникла проблема - используется строка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $isto=abs(crc32($isto)); (abs - так как crc32 бывает и отрицательным)



В переменной $isto, к примеру, вношу:

Запрашиваю это на винде под Vertrigo Serv

Запрашиваю это на сервере freewebhostingarea.com - получаю:


ПОЧЕМУ?

Проблема, правда, еще в том, что локально у меня .htaccess и в нем строка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. AddDefaultCharset UTF-8


При попытке поместить этот файл в корень сайта на freewebhostingarea.com - получаю ошибку доступа и рекомендацию удалить этот файл.
ЗЫ. Кстати, кто нить знает, как эту директиву засунуть на этот хостинг?
Но при удалении этого файла на локальном сервере - все равно значение получается то же самое, так что он тут ни при чем, скорее всего.


РЕШЕНО.

Оказалось. что проблема в битах системы, на которой стоит пыпых...

Если 64 - то вместо отрицательного значения получаем 64битное другое.

Решение:

Где
$string - строка, из которой надо получить crc32

CODE (htmlphp):
скопировать код в буфер обмена
  1. $crc = abs(crc32($string));
  2.  if( $crc & 0x80000000){
  3. $crc ^= 0xffffffff;
  4.  $crc += 1;
  5.  }

Этот код на любой системе даст одинаковый результат.

(Отредактировано автором: 27 Апреля, 2013 - 13:12:06)



-----
Истина прежде всего в том, что...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB