Pobieranie opisu z GaduGadu, Funkcja, PHP 4 i 5 |
Pobieranie opisu z GaduGadu, Funkcja, PHP 4 i 5 |
3.10.2004, 00:26:42
Post
#1
|
|
Administrator serwera Grupa: Przyjaciele php.pl Postów: 909 Pomógł: 0 Dołączył: 12.08.2003 Skąd: /var/www/wroclaw.php Ostrzeżenie: (0%) |
Funkcja łączy się z serwerem GG, loguje się na nim, pobiera opis dla podanego numeru i kończy połączenie. W przypadku powodzenia całości operacji funkcja zwraca opis. W przypadku niepowodzenia funkcja zwróci wartość "(bool) false" i w zmiennej podanej jako ostatni, czwaty argument umieści komunikat o błędzie jaki zaistniał.
Szczegóły parametrów do przekazania jak i wyniku działania funkcji znajdują się w jej komentarzu. Funkcja wymaga zdefiniowania stałych wartości używanych w protokole GaduGadu. Nie są one umieszczone w funkcji, by uniknąć komunikatu o błędzie ponownego deklarowania stałych w przypadku, gdy funkcja zostanie wywołana wielokrotnie w jednym skrypcie. Dwie uwagi końcowe: - ilość znaków jaka jest wycinana ze zwracanego opisu (ostatnia linijka funkcji) jest dobrana eksperymentalnie i jak narazie nie znalazłem innego lepszego) rozwiązania na pozbycie się znaków znajdujących się na początku zwracanego przez serwer wyniku. - Funkcja nie jest przystosowana do odbioru wielu statusów w jednym połączeniu. By ją do tego przystosować należy odpowiednio zmienić wywołanie funkcji (np. przekazać tablicę z numerami, a nie wartość INT i w linii 126 zmienić format pakietu zgodnie ze specyfikacją dostępną na stronie projektu EKG ( http://dev.null.pl/ekg/docs/protocol.html#ch1.11 ) (Kod wydzielony z tematu Skrypty do generowania sygnaturek, na grafikach)
UpDated (07.10.2004 01:07): Zmieniłem "return substr($status_kontaktu, 15);" na nieco bardziej zaawansowany i skuteczny sposób wycinania niechcianych znaków... Dzięki temu opisy nie są ucinane i nie zawierają śmieci... UpDated (08.02.2005 14:45): Coraz częściej dostaje PW o sposób użycia, więc... Sposób użycia - wyświetlenie opisu numeru 1234567 (nasz numer to 2358764, a haslo to: zxcdews):
UpDated (10.02.2005 04:31): Status wyświetlany jest bez żadnych krzaków - zmianie uległ sposób wyciągania opisu z pakietu odbieranego z serwera... UpDated (10.02.2005 05:16): Zoptymalizowałem wyciąganie opisu z pakietu do 1 polecenia unpack... -------------------- Powrót do przeszłości :)
|
|
|
17.01.2008, 00:18:28
Post
#2
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 10 Dołączył: 17.01.2008 Ostrzeżenie: (0%) |
U mnie pomogło:
Nigdy nie byłem dobry z wyrażeń ale preg z linii 80 wygląda tak:
a powinien wyglądać tak: Kod preg_match("/\s([\d.]{8,16}):([\d]{1,5})\s/", $buf, $adres); ten highlighter forum przy PHP się coś kiełbasi i backslashe usuwa |
|
|
Wersja Lo-Fi | Aktualny czas: 15.06.2024 - 08:26 |