ve_gard Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 (endret) har fått lastet ned en fil fra posten.no nå som inneholder alle postnummer/Steder i Norge. Har prøvd å lage et script som kjører ut bare postnummer og poststed med enten ':' som skilletegn eller ikkenoe annet enn bare to forskjellige stringer. Slik ser en linje ut: 0001 OSLO 0301 OSLO K klarer å hente ut: 0001 Men når jeg skal hente ut 'OSLO' som ligger rett bak '0001' så vet jeg ikke helt hvordan jeg skal gjøre dette... noen forslag? mvh Vegard Endret 4. januar 2007 av ve_gard Lenke til kommentar
Ståle Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 Det er lurt å bruke en form for skilletegn istedenfor mellomrom. Og helst skilletegn som bare forekommer der skilletegnene skal forekomme i filen. Feks hvis du vil hente ut "Flere ord" så kan du ikke bruke mellomrom som skilletegn. Men heller --..-- for eksempel. $string = "0001 OSLO 0301 OSLO K"; $del = explode(' ', $string); echo $del[0]; // 0001 echo $del[1]; // OSLO Lenke til kommentar
ve_gard Skrevet 3. januar 2007 Forfatter Del Skrevet 3. januar 2007 <!-- post.txt ----------------------------------- 0001 OSLO 0301 OSLO K 0010 OSLO 0301 OSLO F 0014 OSLO 0301 OSLO K 0015 OSLO 0301 OSLO K 0016 OSLO 0301 OSLO K 0017 OSLO 0301 OSLO K ----------------------------------- --> <?php $input = "post.txt"; $open = fopen($filnavn, "r"); $matrise = file($input); foreach($matrise as $linje){ $del = explode(' ', $linje); echo "INSERT INTO post (postnummer, poststed) VALUES ('$del[0]', '$del[1]');<br />"; } ?> Resultat: --------------------------------- INSERT INTO post (postnummer, poststed) VALUES ('0001 OSLO 0301 OSLO K ', ''); INSERT INTO post (postnummer, poststed) VALUES ('0010 OSLO 0301 OSLO F ', ''); INSERT INTO post (postnummer, poststed) VALUES ('0014 OSLO 0301 OSLO K ', ''); INSERT INTO post (postnummer, poststed) VALUES ('0015 OSLO 0301 OSLO K ', ''); -------------------------------- Den legger ikke merke til whitespaces... :S mvh V Lenke til kommentar
xqus Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 Sikker på det er mellomrom da? og ikke tab? explode(' ', $str) skal fungere helt fint. Lenke til kommentar
Ståle Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 Det kan være, for tab her på forumet blir omgjort til mellomrom mener jeg. Lenke til kommentar
Gjest Slettet+142 Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 du får prøve med det som de to over sier <?php $input = "post.txt"; $open = fopen($filnavn, "r"); $matrise = file($input); foreach($matrise as $linje){ $del = explode("\t", $linje); echo "INSERT INTO post (postnummer, poststed) VALUES ('$del[0]', '$del[1]');<br />"; } ?> Lenke til kommentar
ventle Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 (endret) er tab-tegn ja. følgende fungerer: PHP <?php $input = "post.txt"; $matrise = file($input); foreach($matrise as $linje){ $del = explode("\t", $linje); echo "INSERT INTO post (postnummer, poststed) VALUES ('$del[0]', '$del[1]');<br />"; } ?> (jeg har lastet ned den filen det er spørsmål om og testet) edit: damn, leste ikke innholdet i forrige post godt nok. Men nå har du det bekreftet i hvertfall hva gjør den fopen()-kommandoen der den er? Virker både misbrukt og feilplassert ut, men er kanskje en del av ett større script? Endret 3. januar 2007 av ventle Lenke til kommentar
Ståle Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 (endret) $input = "post.txt"; $matrise = file($input); hvorfor ikke bare bruke... $matrise = file("post.txt"); oO Edit; og vær så snill.. Forrige post var 2 timer før du postet. Og du postet nestet akuratt samme script Og hvis du lurer på noe, er det lurt å sjekke http://php.net først. Endret 3. januar 2007 av Ståle Lenke til kommentar
ventle Skrevet 3. januar 2007 Del Skrevet 3. januar 2007 (endret) som sagt, jeg leste ikke innholdet i nevnte post godt nok, er tilfeldig at vi skrev det samme jeg vet selvfølgelig hva fopen brukes til, men jeg lurer på hva den gjør akkurat der i scriptet, for den har tilsynelatende ingen funksjon (og den følges heller ikke av en fclose(), hvilket er en alvorlig sikkerhetsbrist, men php er såvidt jeg vet laget så idiotsikkert at det stenger åpne filer når scriptet avsluttes uansett). Endret 3. januar 2007 av ventle Lenke til kommentar
ve_gard Skrevet 4. januar 2007 Forfatter Del Skrevet 4. januar 2007 Takker for svarene... det fungerte helt fint ... det var nok tab ja... håpa på at tab ble omgjort til whitespaces eller noe sikkert jeg. Hadde jo testa om det var tab før. Men hadde brukt feil slash:S mvh VEgars Lenke til kommentar
Kagee Skrevet 4. januar 2007 Del Skrevet 4. januar 2007 Du har riktignok fått løst det, men jeg trodde posten hadde lagt ut postnummerne i cvs og sql også? Lenke til kommentar
eigan Skrevet 4. januar 2007 Del Skrevet 4. januar 2007 du finner en komplett sql operasjon her, som plasser allt av postnr, by navn osv, inn i din database En mer synlig link Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå