[PHP] Explode op Regels

Pagina: 1
Acties:

  • Maxonic
  • Registratie: September 2000
  • Laatst online: 28-08 09:43
Hey allen,

Ik ben bezig met een scripje dat een base64 gecodeerd bestand kan uitlezen en vervolgens de waarden uit dat bestand in een database zet.

Dit heb ik al:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
 
$file = file("dir/bestand.ext");
$aantal = count($file);
for ($i=0;$i<$aantal;$i++){ 
$tekst .= $file[$i];
}
$tekst = base64_decode($tekst);
// Punt 1
$a = 0;
while ($zin = explode("\n",$tekst)) { // Punt 2
    list($var,$val) = explode("|",$zin);
    if($a > 0){
        $vars .= ", ";
        $vals .= ", ";
    }
    $vars .= "$var";
    $vals .= "'$val'";
    $a++;
}
echo $sql = ("INSERT INTO $tabel (".$vars.") VALUES (".$vals.")");
?>

Voor de decodatie is $tekst zoiets:
AjhfSDsfgTYrdhHGdFGDSfhdXVCHFJHfFghsdFdFHG

Op punt 1 is $tekst zoiets:

id|1
Naam|Test
Waarde|100
Datum|28-01-2002

Ik weet bijna zeker dat de fout op Punt 2 zit.
Hoe krijg ik het voor elkaar om telkens maar 1 regel te verwerken?
(zoeken heeft nix opgeleverd ;( )

Mijn dank is alvast groot :)

Edit: Voor mensen die willen weten wat de foutmelding is: Geen.. de pagina wordt gewoon niet geladen, lijkt haast wel oneindige loop...

  • Maxonic
  • Registratie: September 2000
  • Laatst online: 28-08 09:43
Als er niemand reageerd heb je alle tijd alle 5000+ mogelijkheden uit te proberen en kom je vanzelf de juiste tegen.. :P

Dit is dus de oplossing:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
 
$file = file("dir/bestand.ext");
$aantal = count($file);
for ($i=0;$i<$aantal;$i++){ 
$tekst .= $file[$i];
}
$tekst = base64_decode($tekst);
$a = 0;

foreach(explode("\n",$tekst) as $deeltekst){
    
    if ($deeltekst != ""){
        list($var,$val) = explode("|",$deeltekst);
        if($a > 0){
            $vars .= ", ";
            $vals .= ", ";
        }
        $vars .= "$var";
        $vals .= "'$val'";
        $a++;
    }
}
echo $sql = ("INSERT INTO $tabel (".$vars.") VALUES (".$vals.")");
?>

  • tomato
  • Registratie: November 1999
  • Niet online
Maxonic: Edit: Voor mensen die willen weten wat de foutmelding is: Geen.. de pagina wordt gewoon niet geladen, lijkt haast wel oneindige loop...
En dat is het ook, kijk eens goed naar je while conditie.

[edit]
Ja en dan plotseling zelf met een oplossing komen he :P

  • Maxonic
  • Registratie: September 2000
  • Laatst online: 28-08 09:43
Op maandag 28 januari 2002 21:00 schreef tomato het volgende:

[..]

En dat is het ook, kijk eens goed naar je while conditie.

[edit]
Ja en dan plotseling zelf met een oplossing komen he :P
hehe.. toch bedankt.. *D