Lagring av data med PHP - Flat fil eller database?

January 22  by Eliza

Mange programmer krever langsiktig lagring av informasjon. I PHP-skript, kan du gjøre informasjonen tilgjengelig innen økter - perioder som brukerne bruker på ditt nettsted - ved hjelp av metoder som PHP session funksjoner og ved å sende inn skjemaer. Men til slutt må du lagre informasjon for bruk i morgen eller neste uke. Du kan lagre det i en informasjonskapsel som du satt til å vare etter at økten er avsluttet, men informasjonen er sårbar. Det er ikke under kontroll. Brukeren kan slette eller endre informasjonen til enhver tid eller kan nekte å godta informasjonskapselen. Å være tilgjengelig og stabil, må informasjonen skal lagres et sted sikker, der ingen kan få tilgang til eller tukle med det. Opplysningene må lagres på serveren.

Informasjon kan lagres på serveren i flate filer eller i databaser. Flate filer er tekstfiler som er lagret på datamaskinen filsystemet. Mennesker kan lese flate filer ved hjelp av operativsystemet kommandoer som viser filer, for eksempel katt i Linux og Unix. Du kan åpne og redigere disse filene ved hjelp av noen tekstfil redigeringsprogram, for eksempel Notisblokk eller vi. Informasjonen i den flate filen er lagret som strenger, og PHP-script som henter data må vite hvordan dataene er lagret. For eksempel, for å hente en kunde navn fra en fil, må PHP-skript for å vite at kunden navnet lagres i de første 20 tegnene i hver linje.

Ved hjelp av en database for lagring av data krever at du installere og lære å bruke databaseprogramvare, for eksempel MySQL eller Oracle. Dataene lagres i filer som er opprettet av databaseprogramvare og kan bare nås av databaseprogramvare. Databaser kan lagre svært kompleks informasjon som kan hentes lett. Du trenger ikke å vite hvordan dataene er lagret, akkurat hvordan de skal samhandle med databasen programvare. For eksempel vil hente et kundenavn, må PHP-skript for å vite bare hvordan å fortelle databaseprogramvare som den ønsker kunden navn, ved hjelp av en standard kommunikasjonsspråk kalles SQL. Databasen programvare håndterer lagring og leverer data, uten manus trenger å vite nøyaktig hvor eller hvordan den kundenavn er lagret.

Flate filer har noen fordeler fremfor databaser:

  • Tilgjengelig og allsidig: Du kan lage og lagre data i ethvert operativsystem filsystem. Du trenger ikke å installere noe ekstra programvare. I tillegg kan tekstdata lagret i flate filer leses av en rekke programmer, for eksempel tekstbehandlere og regneark.
  • Enkel å bruke: Du trenger ikke å gjøre noen ekstra forberedelser, for eksempel installere database programvare, designe en database, opprette en database, og så videre. Bare opprette filen og lagre dataene med uttalelser i din PHP-script.
  • Mindre: Flate filer lagre data ved å bruke mindre diskplass enn databaser.

En flat fil er rask og enkel og tar mindre plass enn en database. Det er ideell for lagring av små mengder av informasjon raskt, for eksempel en enkel liste eller liten del av informasjonen. Flate filer er spesielt nyttig for å gjøre informasjon tilgjengelig for annen programvare, for eksempel et bilderedigeringsprogram eller et regneark. Flate filer kan bli sett på av alle som har tilgang til datamaskinen katalogen der de er lagret, slik at de er nyttige når informasjon skal gjøres tilgjengelig for andre mennesker.

Databaser har noen fordeler også:

  • Sikkerhet: En database gir en sikkerhet lag for seg selv, i tillegg til sikkerheten levert av operativsystemet. En database beskytter dataene fra inntrenging utenfra bedre enn en flat fil.
  • Tilgjengelighet av data: Du kan lagre data i en database ved hjelp av en svært kompleks datastruktur, angi datatyper og relasjoner mellom dataene. Organiseringen av data gjør det enkelt å søke i data og hente det du trenger.
  • Evne til å håndtere flere brukere: Når mange brukere lagre eller tilgang til data i en enkelt fil, for eksempel en fil som inneholder navn og adresser, sikrer en database som brukerne ta deres tur med filen for å unngå å overskrive hverandres data.

Databaser krever mer oppstart innsats og bruke mer plass enn en flat fil, men er mye mer egnet til å håndtere kompleks informasjon. Databasen håndterer den interne organisasjon av dataene, slik at innhenting av data mye enklere. En database gir mer sikkerhet, noe som gjør den mer egnet for sensitiv, privat informasjon. Databaser kan mer enkelt og effektivt håndtere høy trafikk når mange brukere kan prøve å få tilgang til dataene nesten samtidig.

I PHP 5, SQLite, en utvidelse for datalagring som kombinerer de viktigste fordelene med flate filer og databaser, er inkludert som standard. SQLite lagrer dataene i en flat fil, slik at du ikke trenger å installere databaseprogramvare, men du lagre data ved hjelp av SQL, standard database kommunikasjonsspråk. SQLite er en rask alternativ for lagring og gjenfinning av små mengder data i en flat fil ved hjelp av SQL. SQLite er ikke et godt alternativ for virkelig store, kompliserte databaser.