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

Reply via email to