Avatar billede Slettet bruger
21. september 2009 - 14:47 Der er 8 kommentarer og
1 løsning

Kan MySQL lagre filer?

...eller kun binær data som typisk anvendt til opbevaring af billeder?
Avatar billede arne_v Ekspert
21. september 2009 - 14:58 #1
Et billede er ogsaa en fil.

BLOB/MEDIUMBLOB/LONGBLOB kan gemme enhver fil - billede eller andet.

TEXT/MEDIUMTEXT/LONGTEXT kan bruges til tekst filer.
Avatar billede Slettet bruger
21. september 2009 - 15:01 #2
Jeg tænkte, om MySQL automatisk kunne håndtere indholdet som en fil - altså outputte en fil direkte ved query fra f.eks. PHP og acceptere et filobjekt som input?
Avatar billede arne_v Ekspert
21. september 2009 - 15:14 #3
Jeg tror ikke at MySQL har en fil<->BLOB metode.

Men jeg tror heller ikke at du kunne bruge det til noget hvis den havde.

Du har en web server med Apache eller IIS + PHP og saa har du en database server med MySQL. Hvis MySQL kunne eksportere/importere fil ville den bruge fil systemet paa database serveren.
Avatar billede Slettet bruger
21. september 2009 - 15:39 #4
Tja, jeg tænkte, at hele filen (med metadata og gak og gøgl) kunne eksistere virtuelt i hukommelsen og så fortolkes af PHP med en dertilegnet klasse. Nå, men uanset hvad kan man jo altid gemme som rå binær data selv håndtere skidtet. Smider du et svar?
Avatar billede simm Nybegynder
21. september 2009 - 16:31 #5
Jeg har altid lært at det med at gemme filer direkte i BLOB-felter i databaser var noget fy pga. direkte disk access var hurtigere - i stedet skulle man gemme en reference (f.eks et filnavn), men det er måske ikke best-practice mere?
Avatar billede arne_v Ekspert
21. september 2009 - 18:48 #6
Der er ikke direkte support i PHP for fil forstaaet som baade content og meta data.

Jeg tror heller ikke at det ville vaere specielt nyttigt. HTTP HTML FORM FILE uploader kun filens content ikke meta data.

Og meta data for temp filen paa web serveren er ikke saa interessant.

Hvis vi skifter fra web apps til desktop/server apps, saa er det almindeligt at gemme meta data sammen med filer. Men typisk tror jeg at det betragtes som en lille BLOB med meta data og en stor BLOB med content.
Avatar billede arne_v Ekspert
21. september 2009 - 18:48 #7
og svar
Avatar billede arne_v Ekspert
21. september 2009 - 18:51 #8
Det har i mange aar heddet sig at det var draebende for performance at gemme filer i databaser.

Og at gemme filer i en Access 95/97 database var draebende.

Men der er loebet en del vand i aaen siden.

Med KB filer er der efter min bedste overbevisning ingen grund til ikke at gemme dem i database idag.

Jeg ville stadig ikke gemme DVD ISO filer i en database.
Avatar billede Slettet bruger
21. september 2009 - 20:07 #9
Okaj. Jeg roder med blobby.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester