Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie oktetów z adresu
knefelio
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 26.11.2009

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


Mam problem z pobraniem oktetów z adresu IP. O ile nie ma problemu z pierwszym oktetem i ostatnim:

  1. $ip = '144.32.142.90';
  2. preg_match('/^([0-9]+)/', $ip, $oktet1);
  3. preg_match('/([0-9]+)$/', $ip, $oktet4);


to nie wiem co przyjąć za punkt zaczepienia przy pozostałych?
Go to the top of the page
+Quote Post
toffiak
post
Post #2





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


  1. $tablicaOktetow=preg_split('/\./',$ip)
Go to the top of the page
+Quote Post
gothye
post
Post #3





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


explode
Go to the top of the page
+Quote Post
basstone
post
Post #4





Grupa: Zarejestrowani
Postów: 40
Pomógł: 6
Dołączył: 20.12.2011

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


  1. $ip = "144.32.142.90";
  2. $dane = explode(".", $ip);
  3.  
  4. echo $dane[0]; // 144
  5. echo $dane[1]; // 32
  6. echo $dane[2]; // 142
  7. echo $dane[3]; // 90
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #5





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


  1. list ( $oct1, $oct2, $oct3, $oct4 ) = explode( '.', '144.32.142.90', 4 );

A tak w ogóle to z adresami IP powinno się pracować po sprowadzeniu ich do unsigned INT(4).

Ten post edytował wNogachSpisz 15.02.2012, 16:35:44
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@wNogachSpisz: Nie, nie powinno się pracować na typie INTEGER.

Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #7





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(Crozin @ 15.02.2012, 17:56:10 ) *

A to niby dlaczego? Wysłów się.

Ten post edytował wNogachSpisz 15.02.2012, 19:03:52
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
A to niby dlaczego? Wysłów się.
Porządna aplikacja powinna wspierać IPv6, a ponieważ taki adres zajmuje 128 bitów nie da się go traktować jako liczby - w kontekście typów prymitywnych. PHP niestety nie oferuje żadnego sensownego obiektu do reprezentacji takiego tworu w swojej standardowej bibliotece (dla IPv4 zresztą też nie), tak więc pozostaje:
- poszukanie gotowego rozwiązania - biblioteki,
- traktowanie adresu jako tekst,
- stworzenie własnego rozwiązania.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 16.09.2025 - 08:48