Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nazwa operatora komórki
Forum PHP.pl > Forum > Gotowe rozwiązania
nixxon
Witam
Szukam skryptu, moze ktos z forumowiczow sie juz z tym zetknal, ktory wyswietli nazwe operatora telefonii komorkowej do ktorej nalezy dany numer. Skrypt moze korzystac z lokalnej bazy operatorow lub bazy zewnetrznej. Liste operatorow z ich kodami mam ale nie wiem jak na podstawie numeru telefonu wyciagnac kod operatora.
Dzieki z gory za pomoc

Pozdrawiam
klocu
Zetknął się. Olej własną bazę danych! Operatorzy wystawiają skrypty do weryfikacji. Najlepiej z bazy Orange. Szybko sprawdza i daje bardzo jednoznaczne wyniki. Jeśli zmusisz do roboty curl'a i pregi to wszytsko będzie śmigać.

Rozwiązanie wykorzystane w mojej bramce sms, sprawdza się bardzo ładnie.
nixxon
moglbys jakos bardziej szczegolowo mnie nakierowac, gdzie znajde jakies wskazowki jak to zrobic, adresy, fora? szukam na googlach ale jakos opornie mi to idzie, moze przez ted dlugi weekend winksmiley.jpg
pozdrawiam
klocu
system Orange krzaczy się któryś dzień z kolei.
Poszukaj na stronie gdzieś w usługach coś w stylu "Sprawdź numer"
do tej pory korzystałem z danych od nich ale skoro system się wysypał to musimy szukać alternatywnego rozwiązania.

Plus poda Ci tylko czy numer należy do ich sieci czy nie.
Za to Era pięknie pokazuje to co chcesz i na co masz ochote ;]
nixxon
znalazlem na stronie ery, tylko teraz jak dobrac sie do tego za pomoca php ?

edit:

no dobra, wiem do czego sie odwolywac z poziomu php (era) ale nie wiem w jakich zmiennych sa zwracane wartosci. standardowo zwracane sa jakies grafiki oraz dane:

Numer telefonu:

Zapytanie:
Numer telefonu:
Kod sieci:
Operator:

a mnie interesuje tylko zmienna z operatora...

adres do sprawdzenia to: http://is.eranet.pl/updir/omnix_mg.cgi jako zmienna trzeba podac t zawierajaca numer telefonu

to tyle co udalo mi sie osiagnac narazie, jak ktos wie jak ruszyc dalej to prosze pisac smile.gif
klocu
cURL.

Łączysz się z adresem który już znasz.
Wysyłasz żądanie POSTEM (nie getem bo Ci odrzuci) zmianną t jako telefon.
Potem preg_match'em wyciągasz to co Cie interesuje w/g wzorca jaki wysyła Ci strona.

Czy to nie jest banalnie proste? A jak coś forum i google jest bardzo, bardzo pomocne.
nixxon
Z doskoku, ale udało mi się nakreślić taki skryp, który sprawdza to co chciałem. Oczywiście można by pewnie lepiej to napisać wiec jak ktoś ma ochote to niech zaprezentuje swoją wersje.

oto moje rozwiązanie:
  1. <?
  2. /*
  3. Funkcja sprawdza operatora numeru komórkowego za pomocą skryptu Ery.
  4. Funkcja przyjmuje jedną wartość, która musi być numerem telefonu.
  5. Numer telefonu może zawierać liczby, puste pola oraz nawiasy zwykłe, które będą automatycznie odfiltrowane, 
  6. oraz musi się składać z 9 lub 11 znaków, inaczej skrypt ERY automatycznie go odrzuci.
  7. Funkcja nic nie zwraca do sktyptu, który ją wywołał, wyświetla natomiast nazwę operatora, a w przypadku braku danych
  8. ze skryptu ERY, wyświetli wartość ustaloną w zmiennej "$nieznany_operator".
  9.  
  10. */
  11. function check_phone_number($wyrazenie)
  12. {
  13. $nieznany_operator = "Prawdopodobie TP SA";
  14.  
  15. $wynik=NULL;
  16. $dlugosc = strlen($wyrazenie);
  17. $tekst = $wyrazenie;
  18. $i = 0;
  19. for($i=0;$i<$dlugosc;$i++)
  20. {
  21. if($tekst[$i] != " " && $tekst[$i] != "(" && $tekst[$i] != ")")
  22. {
  23. $wynik = $wynik.$tekst[$i];
  24. }
  25. }
  26. $c = curl_init(); 
  27. curl_setopt($c, CURLOPT_URL, 'http://is.eranet.pl/updir/omnix_mg.cgi'); 
  28. curl_setopt($c, CURLOPT_POST, 1);//przesylamy metodą post 
  29. curl_setopt($c, CURLOPT_POSTFIELDS, 't='.$wynik.''); //dane do wyslania 
  30. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); //strona nie ma zostać wyświetlona po wywołaniu curl_exec, tylko ma zostać zwrucona do zmiennej ($page).
  31. $page = curl_exec($c); 
  32. curl_close($c);
  33. if ((preg_match('/Brak|danych/', $page)) == TRUE)
  34. {
  35. echo $nieznany_operator;
  36. }
  37. else
  38. {
  39. $operator = substr($page, 1354, -44);
  40. echo $operator; 
  41. }
  42. }
  43. ?>


dzieki klocu za naprowadzenie smile.gif sog dla Ciebie smile.gif
webmasts
ta funkcja jeszcze działa? za nic nie mogę jej odpalić może mi ktoś powiedzieć jak ją uruchomić...
Snap
Funkcja jak najbardziej działa. Wywołujesz ją np. w ten sposób:

  1. <?php
  2. require_once('funkcja.php');
  3.  
  4. echo check_phone_number('697123123');
  5.  
  6. ?>


Gdzie plik funkcja.php zawiera kod podany powyżej.
webmasts
Wielkie dzięki, funkcja działa a ja zapomniałem o ciapkach' '
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.