Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie oktetów z adresu
knefelio
post 15.02.2012, 02:17:41
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
 
Start new topic
Odpowiedzi (1 - 7)
toffiak
post 15.02.2012, 07:29:28
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 15.02.2012, 08:42:22
Post #3





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

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


explode


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
basstone
post 15.02.2012, 13:20:11
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 15.02.2012, 16:34:35
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 15.02.2012, 17:56:10
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 15.02.2012, 19:02:25
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 15.02.2012, 19:54:19
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:34