ID: 6678 Comment by: linux at hotmail dot com Reported By: info at emre dot de Status: Closed Bug Type: Unknown/Other Function Operating System: Windows 2000 & SuSE Linux PHP Version: 4.0.2 New Comment:
http://www.cafepress.com/fearpenguin http://www.cafepress.com/tux_vs_msn http://www.cafepress.com/chixdiglinux http://www.cafepress.com/design4living Previous Comments: ------------------------------------------------------------------------ [2000-10-15 11:25:46] [EMAIL PROTECTED] Your problem is probably due to the size of the numeric datatype (which is system dependant). The number that you're passing is actually too big (ie: over 2 billion). See http://www.php.net/manual/language.types.php ------------------------------------------------------------------------ [2000-09-12 05:41:28] info at emre dot de <html> <body> <? /* Fuction to turn an integer into an ip address */ function int2ip($int) { // There are 4 bytes to handle, so letīs go for it .... for ($i=0 ; $i < 4 ; $i++) { // Letīs leave only the first 8 bits, kill the rest and assign the value to an array element $bytes[$i] = $int & 0xFF; // Now move the remaining bits to the right and go on with the next byte ... $int = $int >> 8; } // The array containing the bits is joined to a string, the bytes separated by a dot $ip = "$bytes[3].$bytes[2].$bytes[1].$bytes[0]"; return ($ip); } print int2ip(3232235648); /* Result should be 192.168.0.128. On WAMP it works fine, on LAMP it doesnīt. Maybe this oneīs not bug but Iīm too dump - still this "wrong" behaviour has been verfied on several Linux systems running Apache and PHP. The correct one has been verified on three Windows systems running Apache and PHP (latest) */ ?> </body> </html> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=6678&edit=1