Filhantering - Del II

Information om filer

Linux eller DOS?
När man börjar med ett script som läser/skriver till filer i PHP så måste man tänka på vissa saker. Ett vanligt skäl till att det blir fel är att man glömmer vilket operativsystem servern har. Om man har ett webbhotell så är det ganska lätt hänt. Om man däremot har en egen server så borde man inte glömma det i första taget. Men varför tjatar jag om olika operativsystem, kanske du undrar. Jo, det är så att filer på Windows fungerar lite annorlunda än filer på andra operativsystem. Som ni kanske redan vet så är ju en fil uppbyggd av bokstäver som egentligen är siffror som egentligen är binära tal. Det finns vissa tecken som man kanske inte alltid tänker på att de finns där. Radbrytningar t.ex. En radbrytning är ju där, men vi tänker inte på den.
På Linux, UNIX och de andra så skrivs en radbrytning så här:
\n
Som du ser i detta dokument så är det ju två tecken, men inte i datavärlden. Ett snedstreck + n är tecknet för radbrytning (Obs. Det måste vara ett litet n). Värt att tänka på är att när denna fil lagras på en hårddisk så omvandlas inte det jag skrev ovan till en radbrytning. Istället så lagras snedsträcket för sig med sitt eget lilla tecken: \\
Det betyder helt enkelt ett snedsträck. Så \\n skrivs ut som \n och blir inte en radbrytning.

Sjävklart så finns det en hake med det hela. På Windows så gör man radbrytningar med:
\r\n
Som du ser så är det två tecken. Det innebär att om man gör en fil på Linux och öppnar den i Windows så blir hela filen på en rad. Men i många editorer på Linux kan man välja om det ska vara en dos-fil. Tyvärr är det inte så vanligt åt andra hållet. Men eftersom att du bara använder dessa filer till PHP så är det rätt onödigt att köra med \r\n, så jag rekommenderar att du använder \n på windows också.

Så om vi ska sammanfatta det hela: Om du har en Linux-server så ska du spara filerna med tecknet \n där radbrytningarna ska vara. Om du däremot har en Windows-server måste du skriva \r\n vid varje radslut om du inte bara tänker använda dem till PHP eller annan programmering.

Pekaren
När man öppnar en fil i PHP så skapas ju som bekant en variabel av typen stream. I den variabeln så lagras en pekare. En pekare kan man förklara rätt lätt genom att säga att du ska öppna din favorit text-editor.
Gör det nu! Börja nu skriva lite och gå tillbaka några tecken. Ser du att du har ett rakt streck i texten som man flyttar runt med piltangenterna? Det är pekaren och den fungerar på samma sätt i PHP (även om man inte kan se den). Om pekaren står mitt i en text och man börjar skriva så läggs texten in efter pekaren och om pekaren är på slutet av filen så läggs texten till där. Så om man öppnar en fil med "a" som mode (Se Fopen i förra delen) så ställer sig pekaren på slutet av filen. Man kan alltså lägga till data i filen utan att skada datan som redan låg där.

Ytterliga fil-funktioner
I den förra delen fick du ju bekanta dig med ett antal funktioner. Självklart så finns det fler av dessa. En av de nya funktionerna är rewind som ställer pekaren i början på filen. Jag kommer i nästa kapitel att gå igenom ett par men för att se en komplett lista på alla funktioner med syntax och exempel så borde du besöka php.net och kolla. www.php.net/filesystem

Sida 1 av 5
[ 1 2 3 4 5 ]
Välkommen Anonymous
Logga in
Registrera
Snabblänkar
Markera alla forum som lästa
Skriptarkivet [86 av 97]
Visa nya inlägg
Visa dina inlägg
Visa obesvarade huvudinlägg
Läs vår skola
  Introduktion
  Programmera i webbmiljö
  Installationen i Windows
  Variabler och konstanter
  Vektorer
  Operatorer
  Villkorssatser
  Slingor
Statistik
Registrerade medlemmar: 19791
Inlägg totalt: 719548
Senaste medlem: jenging
Online
Besökare just nu: 41,
0 registrerade,
0 dolda och
41 gäster
Besökare som mest var 337 den 2007-07-16 20:05

Våra medlemmar
Inloggade medlemmar
Bra att veta
Förhållningsregler
Trivselregler
phpBB-FAQ
För dig som vill länka
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic