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

Parsiranje *.txt fajla

[es] :: PHP :: Parsiranje *.txt fajla

[ Pregleda: 9711 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Uros04

Član broj: 20411
Poruke: 9
*.vdial.verat.net



Profil

icon Parsiranje *.txt fajla07.02.2004. u 19:01 - pre 215 meseci
Pozdrav, imam ovakvu strukturu podataka:

"8","Art. 1","KOM","34,51","27,00","20","1",""
"10","Art. 2","KOM","0,00","0,95","1","1",""
"11","Art. 3","KOM","0,00","115,41","6","0",""

ja bih trebao da napisem skript koji ce citati red po red
i dodavati podatke u mysql tabelu.

npr. 8 -> Sifra, Art.1 -> Naziv_art, KOM -> Jed_mere, itd...

Hvala vam unpared!
 
Odgovor na temu

milanvla
Srbija

Član broj: 11686
Poruke: 132
*.vdial.verat.net



Profil

icon Re: Parsiranje *.txt fajla07.02.2004. u 21:32 - pre 215 meseci
trebalo bi da ti ovo obavi posao:

$file = file("ime_fajla.txt");//otvoris fajl
foreach ($file as $line){ //citas red po red
$data = explode(",", $line); //razdvojis na reci
// prvi clan ti je $data[0], a ti ih imas 7 ukupno, tj $data[0],...$data[6]
for($i=0;$i<=6;$i++)$data[$i]=str_replace("\"","",$data[$i]);//ovo ti skida prvi i zadnji znak navoda
//sada upises u bazu
mysql_query("insert into $ime_tabele(polje1,polje2,polje3,polje4,polje5,polje6,polje6) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')");
}
 
Odgovor na temu

dr ZiDoo
Banja Luka

Član broj: 189
Poruke: 1728
*.teol.net

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 01:18 - pre 215 meseci
Nekidan sam baš napisao skritput koja radi sa baš takvom strukturom fajlova (u mom slučaju OO programa za radi sa tabelama - *.cvs). Moj ne upisuje u SQL nego generiše html file, ali lako se prepraviti:

Code:

<?php

$file = "OOcvs.txt";

$fp = fopen($file, 'r');
if(!$fp)
{
    die("Ne mogu da otvorim file: $fp");
}
else
{
    $con = fread($fp, filesize($file));
    
    $con_red = explode("\n", $con);
    $num_red = count($con_red);
    echo("<table border=\"0\" cellspacing=\"0\" cellpading=\"0\"><tr><td bgcolor=\"#c0c0c0\">");
    echo("<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">");
    for($i = 0; $i <= $num_red-2; $i++)
    {
        print "\n";
        echo("<tr>");
        $cell = explode(",", $con_red[$i]);
        $numcell = count($cell);
        
        for($n = 0;$n <= $numcell-1; $n++)
        {
            print "\n";
            $brb = "";
            $strg = $cell[$n];
            $strg = ereg_replace('"', $brb, $strg);
            echo("<td align=\"center\" bgcolor=\"#FFFFFF\">$strg</td>");
            
        }
        echo("</tr>");
    }
    echo("</table>");
    echo("</td></tr></table>");
    
}

?>


Sada samo umjesto echo radi svoj SQL query.
Broj redova, i dužina nije važna.
tu nema kašike....
 
Odgovor na temu

Uros04

Član broj: 20411
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 11:54 - pre 215 meseci
Citat:
milanvla:
trebalo bi da ti ovo obavi posao:

$file = file("ime_fajla.txt");//otvoris fajl
foreach ($file as $line){ //citas red po red
$data = explode(",", $line); //razdvojis na reci
// prvi clan ti je $data[0], a ti ih imas 7 ukupno, tj $data[0],...$data[6]
for($i=0;$i<=6;$i++)$data[$i]=str_replace("\"","",$data[$i]);//ovo ti skida prvi i zadnji znak navoda
//sada upises u bazu
mysql_query("insert into $ime_tabele(polje1,polje2,polje3,polje4,polje5,polje6,polje6) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]')");
}


Hvala, ali tvoj code mi pravi problem, naime on doda sve lepo u polja
ali predzadnji i zadnji podatak dodaje u formatu "0 i "" jedino je u tome problem. Ima li resenja?
 
Odgovor na temu

Uros04

Član broj: 20411
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 11:56 - pre 215 meseci
Citat:
dr ZiDoo:
Nekidan sam baš napisao skritput koja radi sa baš takvom strukturom fajlova (u mom slučaju OO programa za radi sa tabelama - *.cvs). Moj ne upisuje u SQL nego generiše html file, ali lako se prepraviti:

Code:

<?php

$file = "OOcvs.txt";

$fp = fopen($file, 'r');
if(!$fp)
{
    die("Ne mogu da otvorim file: $fp");
}
else
{
    $con = fread($fp, filesize($file));
    
    $con_red = explode("\n", $con);
    $num_red = count($con_red);
    echo("<table border=\"0\" cellspacing=\"0\" cellpading=\"0\"><tr><td bgcolor=\"#c0c0c0\">");
    echo("<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\">");
    for($i = 0; $i <= $num_red-2; $i++)
    {
        print "\n";
        echo("<tr>");
        $cell = explode(",", $con_red[$i]);
        $numcell = count($cell);
        
        for($n = 0;$n <= $numcell-1; $n++)
        {
            print "\n";
            $brb = "";
            $strg = $cell[$n];
            $strg = ereg_replace('"', $brb, $strg);
            echo("<td align=\"center\" bgcolor=\"#FFFFFF\">$strg</td>");
            
        }
        echo("</tr>");
    }
    echo("</table>");
    echo("</td></tr></table>");
    
}

?>


Sada samo umjesto echo radi svoj SQL query.
Broj redova, i dužina nije važna.


Evo sta dobijem kad pokrenem ovu skriptu:

Code:

Parse error: parse error in /var/www/htdcos/parser.php on line 3
 
Odgovor na temu

dr ZiDoo
Banja Luka

Član broj: 189
Poruke: 1728
*.teol.net

Jabber: ZiDoo@elitesecurity.org
ICQ: 299539598
Sajt: zidoo.geek.rs.ba


Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 14:58 - pre 215 meseci
???

Kod mene sve radi kako treba. Taj error vjerovatno ce ti se pokazati samo kada nisi zatvorio neki navod, tj mozda to je u kopiranju nije prekopirao ; ili tako nesto.

Kada si stavio svoje ime fajla, vidi da li si zavtvorio sa ";".
tu nema kašike....
 
Odgovor na temu

Uros04

Član broj: 20411
Poruke: 9
*.vdial.verat.net



Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 21:27 - pre 215 meseci
Citat:
dr ZiDoo:
???

Kod mene sve radi kako treba. Taj error vjerovatno ce ti se pokazati samo kada nisi zatvorio neki navod, tj mozda to je u kopiranju nije prekopirao ; ili tako nesto.

Kada si stavio svoje ime fajla, vidi da li si zavtvorio sa ";".


Sve sam lepo uradio, ali ne vredi, opet nece, no ne mari, prepravio sam prvi code i sad sve lepo radi. Hvala jos jednom.
 
Odgovor na temu

igac
Banjaluka

Član broj: 415
Poruke: 562
*.dip.urc.bl.ac.yu



+2 Profil

icon Re: Parsiranje *.txt fajla09.02.2004. u 00:40 - pre 215 meseci
pa citas li error?! treca linija ti je naziv fajla, ti ga nemas i tako da nemas sta da parsujes...
"nice town, i'll take it..."
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.vdial.verat.net

Sajt: localhost


+4 Profil

icon Re: Parsiranje *.txt fajla09.02.2004. u 05:52 - pre 215 meseci
aman ljudi, ste čuli za fgetcsv()? http://php.net/fgetcsv



 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Parsiranje *.txt fajla09.02.2004. u 07:01 - pre 215 meseci
... i naravno da nismo, jerbo bi bilo stupidno da postavimo temu. Jer lepi PHP skoro da je taki da nudi gotovu funkciju za štogod ti se naumi da činiš. Samo treba znati ime funkcije. Hvala za ime.
 
Odgovor na temu

igac
Banjaluka

Član broj: 415
Poruke: 562
*.teleklik.net



+2 Profil

icon Re: Parsiranje *.txt fajla09.02.2004. u 12:28 - pre 215 meseci
mozda je bas zato php toliko highhighhighhighhighhighhigh level programski jezik :D
"nice town, i'll take it..."
 
Odgovor na temu

[es] :: PHP :: Parsiranje *.txt fajla

[ Pregleda: 9711 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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