Gå til innhold

Slette bestemt linje fra fil


Anbefalte innlegg

Hei.. jeg holder på å lage et lite gjestebok-script i PHP, men nå har jeg støtet på et lite problem. Jeg skal ha en funksjon som sletter innlegg.

 

Gjesteboken er bygget opp, så den skriver inn i en fil, slik som dette:

år-mdn-dag-klokka | Skrevet_av | $remote_addr | Innlegg

 

Det er sånn ca åssen det er bygget opp, og jeg leser innleggene ut fra den filen, og sorterer dem etter år-mdn-dag-klokka. år-mdn-dag-klokka blir en unik verdi, og derfor kunne jeg tenkt meg å bruke den til "slett innlegg" funksjonen.

 

Noen som har noen tips i hvordan jeg kan få slettet den spesielle linjen som inneholder den år-mdn-dag-klokka verdien jeg er ute etter?

 

På forskudd, takk.

Lenke til kommentar
Videoannonse
Annonse

Hva med å bare lese hele filen inn i en hash, med 'år-mdn-dag-klokka' som nøkkel og deretter skrive over filen igjen med det som ligger i hashen utenom det som skal fjernes?

 

Blir selvfølgelig en hel hæv ganger enklere hvis du bruker en database, f.eks MySql...

Lenke til kommentar

F.eks slik:


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

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

{ 

 $temp = fgets($infohandle, 4096); #henter ut en linje. 

 $nokkel = split(":",$temp);

 $liste{$nokkel} = $temp; #dette er en hash

} 

fclose($infohandle); 

 

Hmm.. Ved nærmere ettertanke kan du jo bare lese inn hele fila linje for linje inn i en variabel og når du kommer til den linja du vil fjerna, så bare lar du være å legge til denne i variabelen. Når alt er ferdiglest så skriver du bare over fila med det som ligger i variabelen du har lest inn alt i. Men ved å bruke hash åpner du får en del andre funksjoner også. Du kan jo bruke hash til å endre innlegg dersom dette er ønskelig på et senere tidspunkt.

Lenke til kommentar

Tusen takk foresten! :D Jeg har vært veldig opptatt i det siste, så jeg har ikke fått tittet så mye på svaret enda, men takk takk :)

 

Skal se om jeg greier å få noe ut av det, for nå har jeg mye tid fremover :)

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å
×
×
  • Opprett ny...