Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> hex2ip, zamiana ip w hexie na xxx.xxx.xxx.xxx
legorek
post 1.03.2005, 19:26:11
Post #1





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jak w temacie, problem banalny, ale nie wiem jak go ugryźć :/ Jak zamienic IP zapisane w systemie szesnastkowym na ip w formacie xxx.xxx.xxx.xxx ?

czyli jak zrobić z 531c16b9 => 83.28.22.185


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 1.03.2005, 19:35:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Rozbijasz to na dwuznakowe stringi (substring()), kazdy konwertujesz hexdec()-em i laczysz z kropkami.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
legorek
post 1.03.2005, 19:42:27
Post #3





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


I tu niestety zonk :/ Dla adresu 83.28.22.5 nie zdziała. To ja tylko dodam jak konwertuje Ip na HEX:

  1. <?php
  2.  
  3. function ip2hex($ip)
  4. {
  5. $tab_ip = explode(&#092;".\", $ip);
  6. $tab_ip[0] = dechex((strlen($tab_ip[0]) == 1) ? '0'.$tab_ip[0] : $tab_ip[0]);
  7. $tab_ip[1] = dechex((strlen($tab_ip[1]) == 1) ? '0'.$tab_ip[1] : $tab_ip[1]);
  8. $tab_ip[2] = dechex((strlen($tab_ip[2]) == 1) ? '0'.$tab_ip[2] : $tab_ip[2]);
  9. $tab_ip[3] = dechex((strlen($tab_ip[3]) == 1) ? '0'.$tab_ip[3] : $tab_ip[3]);
  10. return $tab_ip[0].$tab_ip[1].$tab_ip[2].$tab_ip[3];
  11. }
  12.  
  13. ?>


Nie wiem czy ta funkcja jest dobra bo jeśli idzie o protokoły internetowe i wszystko co się z tym wiąże, to jestem cieniutki :/

Ten post edytował legorek 1.03.2005, 19:44:57


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 1.03.2005, 20:32:29
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function ip2hex( $sIp )
  3. {
  4. $aIp = explode( '.', $sIp );
  5.  
  6. foreach( $aIp as $x )
  7. {
  8. $temp = dechex( $x );
  9. $aNewIp[] = ( strlen( $temp ) === 1 ) ? '0' . $temp : $temp;
  10. }
  11.  
  12. return implode( '', $aNewIp );
  13. }
  14.  
  15. function hex2ip( $sIp )
  16. {
  17. for ( $i = 0; $i < 4; $i++ )
  18. {
  19. $x = substr( $sIp, $i * 2, 2 );
  20.  
  21. $aNewIp[] = hexdec( $x );
  22. }
  23.  
  24. return implode( '.', $aNewIp );
  25. }
  26.  
  27. print( ip2hex( '127.0.0.1' ) . '<br />' );
  28. print( hex2ip( ip2hex( '192.168.1.1' ) ) );
  29. ?>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
legorek
post 2.03.2005, 10:46:23
Post #5





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Dzięki wielkie :-)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 23:44