Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wczytanie pliku billingu w text
pianta_d
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 18
Dołączył: 5.01.2007

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


Witam

Stanąłem przed problemem wczytania pliku z bilingiem telefonicznym.
Na późniejszym etapie będę wrzucał to do bazy, ale z tym to nie ma żadnego problemu, natomiast nie wiem jak w ogóle się do tego zabrać.
Plik bilingu ma straszną strukturę.

Przykładowy plik bilingu

Takich stron może być kilkanaście. Oddzielone są od siebie liniami ze znaku "-"
W kolumnie połączenie mogą być inne wpisy niż "lokalne" (ale to już nie jest istotne)

Nie będę się rozpisywał co musi być w skrypcie, aby później wczytać to do bazy.
Proszę o wskazówki.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pianta_d
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 18
Dołączył: 5.01.2007

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


Dziękuje Wam wszystkim.
Cóż, dostałem gotowca i się z tego cieszę, aczkolwiek teraz muszę zrozumieć wyrażenia regularne.
Lektura z internetu jest troszkę chaotyczna i jak na moje lata mało zrozumiała.

Dziękuję jeszcze raz za zainteresowanie i odwdzięczam się jak tylko mogę.

--- EDIT ---

Zauważyłem jeden problem w wyrażeniu regularnym, które napisał @abort. (chłopak nie wiedział, że taka może być sytuacja - w załączonym pliku tego nie ma)
Przy typie połączenia (w pliku mogą być wpisy: "lokalne","KRAKÓW","PLUS GSM", itp.) nie wczytuje połączeń, gdzie typ składa się z dwóch członów, czyli z trzech przytoczonych przykładów wczyta dwa pierwsze wiersze, a pominie "PLUS GSM".

Dzisiaj już siły mi brak, ale jutro siądę nad tym i będę mógł przy okazji poćwiczyć to czego się uczyłem od wczoraj.

Pozdrawiam

---- EDIT ----

Siedzę nad wyrażeniem i przerobiłem to co napisał @abort
  1. preg_match ('@([0-9 ]{2}.[0-9]{2}){0,1}\s([0-9 ]{2}.[0-9]{2}.[0-9]{2})\s([0-9x\ \(\)]+)([a-zA-Z ]{1,}[^s0-9])([0-9 sm]+)\s+([0-9.,]+)\s+([0-9.,]+)@', $line, $match)

wczytuje mi już dwuczłonowe typy połączeń jednak coś pomija.
Podpinam do wczytania plik, na którego końcu jest podsumowanie, gdzie napisano, że abonent wykonał 695 połączeń, a mój preg_match wczytuje mi 647.

Proszę o pomoc z tym wyrażeniem.

Ten post edytował pianta_d 2.12.2011, 19:53:44
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 04:06