CMS-kursen

Skriva till fil

Spara data i en fil på servern, så att den finns kvar mellan sidvisningar och för alla besökare.

Varför filer?

Variabler försvinner när sidan är färdigkörd, och sessioner gäller bara en besökare. Det som ska finnas kvar för alla, som inläggen i en gästbok, måste sparas på servern. En fil är det enklaste sättet.

file_put_contents

Det enklaste sättet att skriva till en fil är file_put_contents(). Filen skapas om den inte finns.

  • Utan FILE_APPEND ersätts allt som fanns i filen.
  • "\n" är en radbrytning. Den måste stå inom dubbla citattecken.

I portalen sparas filerna tillfälligt i webbläsarens minne och försvinner när du laddar om sidan. På din egen dator hamnar filen i mappen där PHP-filen ligger.

fopen: mer kontroll

Vill du skriva i flera steg öppnar du filen med fopen(), skriver med fwrite() och stänger med fclose().

Det andra värdet till fopen() är läget, som anger vad du får göra med filen:

Läge Betyder
r Läsa (read)
r+ Läsa och skriva. Filen måste finnas.
w Skriva (write). Filen skapas, och befintligt innehåll raderas.
w+ Skriva och läsa
a Lägga till i slutet (append)
x Skriva. Misslyckas om filen redan finns.
c Skriva. Filen skapas om den saknas, men innehållet raderas inte.

Med ett + efter x, c eller a öppnas filen även för läsning.

Prova själv

  1. Kör det andra exemplet flera gånger. Vad händer med filen?
  2. Byt läget "a" mot "w" och kör flera gånger. Vad är skillnaden?
  3. Ta bort FILE_APPEND i det första exemplet. Hur många rader finns kvar?