Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Čitanje i obrada informacija iz txt

[es] :: PHP :: PHP za početnike :: Čitanje i obrada informacija iz txt

[ Pregleda: 1773 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

weleb

Član broj: 284399
Poruke: 38
*.adsl.net.t-com.hr.



Profil

icon Čitanje i obrada informacija iz txt28.11.2013. u 09:48 - pre 126 meseci
Iz jednog .txt dokumenta trebam čitati informacije koje ću kasnije koristiti za nekakva prerečunavanja....

Uglavnom, informecije u txt sz složene cca ovako:

Code:

25.11.2013
036;AUD;RED; 4,560000;4,573208
036;AUD;POV1; 4,561000;4,572000
036;AUD;POV2; 4,562000;4,571000
978;EUR;RED; 7,60000;7,680000
978;EUR;POV1; 7,61000;7,670000
978;EUR;POV2; 7,62000;7,660000
978;EUR;POV3; 7,63000;7,650000


Sada moje pitanje glasi, kako svaku od ovih infrmacija (036, AUD) itd pohraniti u varijablu/polje tako da kasnije sa svakim podatkom mogu raditi neke operacije...s tim da su (036;AUD;POV1; i 036;AUD;POV2;) samo varijacije početne 036;AUD;RED tj bitno je da se prepozna da se radi o istom "elementu" i tih podelemenata može bit xx (nije definiran broj, tj može bit da glavni element npr 036;AUD;RED; nema niti jedan podelement, a može ih imati 3 kao kod primjera 878;EUR;RED;

[Ovu poruku je menjao weleb dana 28.11.2013. u 11:15 GMT+1]
 
Odgovor na temu

deZio
Inđija

Član broj: 150608
Poruke: 345
*.dynamic.isp.telekom.rs.



+38 Profil

icon Re: Čitanje i obrada informacija iz txt28.11.2013. u 11:51 - pre 126 meseci
Da li si ti i zapisao te podatke u fajl? Ako jesi, nemoj nikada tako da ih zapisuješ, već koristi json_encode/json_decode ili serialize/unserialize. Na taj način ćeš kroz par linija koda moći doći do željenog efekta za razliku od zapisivanja podataka pomoći tvog primera
 
Odgovor na temu

weleb

Član broj: 284399
Poruke: 38
*.adsl.net.t-com.hr.



Profil

icon Re: Čitanje i obrada informacija iz txt28.11.2013. u 12:26 - pre 126 meseci
Nisam, taj dokument generira jedna druga aplikacija i ja iz njega moram uzeti sve te podatke kako bih mogao s njima raditi...
 
Odgovor na temu

deZio
Inđija

Član broj: 150608
Poruke: 345
*.dynamic.isp.telekom.rs.



+38 Profil

icon Re: Čitanje i obrada informacija iz txt28.11.2013. u 12:31 - pre 126 meseci
Onda jedino ovako:
Code (php):

$PODACI = array();
$linije_fajla = file('test.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);;

foreach ( $linije_fajla as $brojac => $linija ) {
    // IZUZETAK JE DATUM KOJI JE U PRVOJ LINIJI KODA
     if($brojac == 0){
          $PODACI['datum'] = $linija;
          continue;
     }
     
     $vrednosti_izmedju_razmaka = explode( ' ', $linija );
    $vrednosti_pre_razmaka = explode( ';', $vrednosti_izmedju_razmaka[0] );
    $vrednosti_posle_razmaka = explode( ';', $vrednosti_izmedju_razmaka[1] );
     
     $md_niz = $vrednosti_posle_razmaka;
     foreach( array_reverse( $vrednosti_pre_razmaka ) as $vrednost ) {
          if( !empty( $vrednost ) ){
               if( is_numeric( $vrednost ) )
                    $md_niz = array( "id-$vrednost" => $md_niz );
               else
                    $md_niz = array( $vrednost => $md_niz );
          }
     }
     $PODACI = array_merge_recursive( $PODACI, $md_niz );
}
 


I onda bi niz $PODACI trebalo da ti izgleda ovako:
Code:
Array
(
    [datum] => 25.11.2013
    [id-036] => Array
        (
            [AUD] => Array
                (
                    [RED] => Array
                        (
                            [0] => 4,560000
                            [1] => 4,573208
                        )

                    [POV1] => Array
                        (
                            [0] => 4,561000
                            [1] => 4,572000
                        )

                    [POV2] => Array
                        (
                            [0] => 4,562000
                            [1] => 4,571000
                        )

                )

        )

    [id-978] => Array
        (
            [EUR] => Array
                (
                    [RED] => Array
                        (
                            [0] => 7,60000
                            [1] => 7,680000
                        )

                    [POV1] => Array
                        (
                            [0] => 7,61000
                            [1] => 7,670000
                        )

                    [POV2] => Array
                        (
                            [0] => 7,62000
                            [1] => 7,660000
                        )

                    [POV3] => Array
                        (
                            [0] => 7,63000
                            [1] => 7,650000
                        )

                )

        )

)
 
Odgovor na temu

weleb

Član broj: 284399
Poruke: 38
*.adsl.net.t-com.hr.



Profil

icon Re: Čitanje i obrada informacija iz txt28.11.2013. u 16:02 - pre 126 meseci
Odlično :) koliko vidm to je to...sada samo isčitavat podatke iz polja i dalje obrađivat :)
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Čitanje i obrada informacija iz txt

[ Pregleda: 1773 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.