Gå til innhold

Lesing av flat fil med linjeskift med fread()


Anbefalte innlegg

Hei!

 

Jeg har en flat fil, "fil.txt", hvor hver linje er en record og slutter med et linjeskift.

 

Med funksjonen fread() ønsker jeg å lese ut all informasjonen i filen. Slik filen leses ut nå, leses den uten linjeskiftene, dvs. at all informasjon kommer på én linje. Hvordan får jeg fread() til å lage linjeskift ved lesing for hvert linjeskift i filen?

 

Jeg er dessverre ikke veldig erfaren med PHP, så jeg håper at noen tar seg bryet med å svare en PHP-newbie. Referanser til tutorials som besvarer spørsmålet mottas gjerne.

 

(PS. Har lest dok'ene på www.php.net.)

 

 

eBekk

Lenke til kommentar
Videoannonse
Annonse

Er ikke sikker på hvordan du gjør det med fread, men du kan jo bruke fgets:


<?

$infohandle = fopen("fil.txt","r");

$teller = 0;

while(!feof($infohandle))  #Så lenge det er noe igjen i fila

{

 $liste[$teller] = fgets($infohandle, 4096); #henter ut en linje.

 $teller += 1;

}

fclose($infohandle);

?>

Legger hver linje i fila inn i et array. Linje nr1 er i $liste[1], nr 2 i $liste[2] osv.

Lenke til kommentar

Eller bare file:

$temp = file('fil.txt');

Veldig simpel. Putter første linja inn i $temp[0], andre linja inn i $temp[1], osv.

 

Ellers er det jo mulig at du får med linjeskrift men hvis du bare har prøvd og skrive ut variablen med echo eller print, vil ikke linjeskriften vises. Du på da gå på View Source på siden eller evt. legge til

$temp = nl2br($temp);

Da vil det legges til en <br /> ved hver linjeskrift.

 

Håper jeg var til hjelp. :)

Lenke til kommentar

Takk for svar! :)

 

Jeg skrudde litt på koden og kom til slutt ut med følgende løsning med fgets():

 




<?php

    $fil = fopen("fil.txt","r");

    while(!feof($fil))

         {

         $linje = fgets($fil, 512);

         echo("$linje<br>");

         }

?>



 

 

eBekk

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...