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

Parsiranje *.txt fajla

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

[ Pregleda: 2109 | Odgovora: 10 ]

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

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!
07.02.2004. u 19:01 

milanvla
Milan Vlašković
Srbija, Kragujevac

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



Profil

icon Re: Parsiranje *.txt fajla07.02.2004. u 21:32
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]')");
}
07.02.2004. u 21:32 

dr ZiDoo
Web Developer
Banja Luka

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

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


Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 01:18
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....
08.02.2004. u 01:18 

Uros04

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



Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 11:54
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?
08.02.2004. u 11:54 

Uros04

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



Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 11:56
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
08.02.2004. u 11:56 

dr ZiDoo
Web Developer
Banja Luka

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

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


Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 14:58
???

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....
08.02.2004. u 14:58 

Uros04

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



Profil

icon Re: Parsiranje *.txt fajla08.02.2004. u 21:27
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.
08.02.2004. u 21:27 

igac
Banjaluka

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



Profil

icon Re: Parsiranje *.txt fajla09.02.2004. u 00:40
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..."
09.02.2004. u 00:40 

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

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

Sajt: localhost


Profil

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



09.02.2004. u 05:52 

noviKorisnik

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



Profil

icon Re: Parsiranje *.txt fajla09.02.2004. u 07:01
... 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.
09.02.2004. u 07:01 

igac
Banjaluka

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



Profil

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

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

[ Pregleda: 2109 | Odgovora: 10 ]

Postavi temu Odgovori

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