Gå til innhold

Erstatte/slette oppføring i flat-file database


Anbefalte innlegg

Holder på å lage en web-portal, og har en fil med følgende format:

 

fornavn;etternavn;email;artikler

 

Artikler er antall artikler på en side. Den verdien brukes for å holde "orden" i systemet.

 

La oss si at filen ser slik ut:

 

Ola;Nordmann;[email protected];100137

 

Hvordan får jeg da økt artikler-verdien til 100138?

 

Må jeg slette linja først, og så lage en ny, eller er det mulig å erstatte den gamle linja med en ny linje, eller kan jeg kun sette ett nytt nummer?

Lenke til kommentar
Videoannonse
Annonse

Hvis det er flere linjer så gjør først dette:

Bruk funksjonen file() så kommer linjene i en array. Så finner du den linjen du vil ha.

 

Så exploder du på ;

da vil talletstå i f.eks. $var[3]

Da kan du bare bytte ut det tallet og sette sammen linjen i gjen og så eventuelt sette sammen hele filen.

Lenke til kommentar

Det er kun én linje i filen (det er navn på admin, hans email, og antall artikler i systemet).

 

For å åpne filen bruker jeg følgende kode:

 

$general = fopen("$general_path", "r+b");
$general_read = fread($general, 4096);
$vars=explode(';',$general_read);
list($name,$email,$numart)=$vars;
fclose($general);

 

Ser at det kun er ett felt for navn (husket feil når jeg skrev første innlegg), men det betyr jo ingen ting i det store og hele.

 

Problemet mitt er at jeg ikke vet (og ikke finner i PHP-manualen) hvordan jeg skriver over, erstatter eller sletter en linje i en fil!

 

Kan noen hjelpe meg med det?

Lenke til kommentar

Du skriver likevel ikke til toppen av filen, du bare snur innholdet. Antar at du gjøre dette for å vise innholdet og ikke når du lagrer det.

 

Merk at det er bedre å lage et script som "skriver til toppen" - for da slipper php å snu innholdet for hver visning. Hvis filen kan bli stor vil det ta lang tid for brukerene å vente på.

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...