Avatar billede leif Seniormester
08. november 2005 - 10:33 Der er 18 kommentarer og
1 løsning

Ligge filer i tabellen

Hej,

Er det egentlig muligt at ligge filer i selve databasen ?

Det skal bruges til et filarkiv system hvor visse filer under ingen omstændigheder må komme i de forkerte hænder.

Og der skal nemlig laves forskellige arkiver dvs. fx. en til Ledere og en til Brugere (Dog mange flere)

Fra
Leif
Avatar billede hmortensen Nybegynder
08. november 2005 - 10:35 #1
Der er en tut til det her, bygget over PHP:
http://www.phpbuilder.com/columns/florian19991014.php3
Avatar billede arne_v Ekspert
08. november 2005 - 10:36 #2
ja

data typerne BLOB, MEDIUMBLOB og LONGBLOB er brugbare til filer

og om lidt drukner du i indlæg fra folk som siger at du kun skal ligge filnavnet
i databasen og have filen ved siden af

men prøv og spørg dem om de har lavet en sammelignende test
Avatar billede leif Seniormester
08. november 2005 - 10:37 #3
Jeg vil jo lige netop have filen i databasen så jeg kan rettighedstyre det på min egen måde !
Avatar billede hmortensen Nybegynder
08. november 2005 - 10:41 #4
Og valget af BLOB type afhænger af hvor store filer du ønsker at smide i.

Mener max str. er som følger:
BLOB - 64kb
MEDIUMBLOB - 16mb
LONGBLOB - 4gb
Avatar billede arne_v Ekspert
08. november 2005 - 10:43 #5
jep (fuld udnyttelse af LONGBLOB kræver lidt tweaking af opsætning)
Avatar billede leif Seniormester
08. november 2005 - 10:46 #6
Hmm, jeg kan ikke få over 4gb ? :-) (Just kidding)

arne_v -> Hvad tænker du præcis på ?
Avatar billede arne_v Ekspert
08. november 2005 - 10:54 #7
tabeller som skal være større end 4 GB skal oprettes specielt til det

max_allowed_packet skal også ændres fra sin default på 1 MB for at du
kan flytte data mellem client og server
Avatar billede Slettet bruger
08. november 2005 - 12:01 #8
Nu er jeg blevet nysgerrig. Er det i PHP man skal ændre max_allowed_packet skal ændres? Kræver det at man piller i php.ini?
Avatar billede arne_v Ekspert
08. november 2005 - 12:12 #9
nej det er i MySQL konfigurationen

(så glem det med web hotel - men jeg tror ikke at ret mange web hoteller
vil være glade for 10 MB eller 100 MB BLOB's anyway)
Avatar billede leif Seniormester
08. november 2005 - 13:29 #10
Nu er det i mit tilfælde egen server ! :D
Avatar billede leif Seniormester
16. november 2005 - 23:11 #11
Bare et spørgsmål ! Hvis jeg bruger eksemplet som der henvises til når jeg bruger Getdata gemmer det som en php fil og ikke som den bat fil jeg uploadede !
Avatar billede arne_v Ekspert
16. november 2005 - 23:17 #12
så får den ikke sat respons headerne rigtigt
Avatar billede leif Seniormester
16. november 2005 - 23:22 #13
I databasen skriver den i Filetype: application/octet-stream ved .bat filer
Avatar billede arne_v Ekspert
16. november 2005 - 23:23 #14
scriptet skal sende en header:

Content-Disposition: attachment; filename=xxx.bat

til browseren !
Avatar billede leif Seniormester
16. november 2005 - 23:26 #15
Er der andre headers der kan være gode at sende ved hentning ?
Avatar billede arne_v Ekspert
16. november 2005 - 23:35 #16
det er nok den med funktionel betydning
Avatar billede leif Seniormester
20. november 2005 - 15:49 #17
Smid nogen svar så vi kan lukke.

Med hjælp fra blandt andet hmortensens link fik jeg det til at virke.
Avatar billede arne_v Ekspert
20. november 2005 - 15:55 #18
så må det vel være hans points
Avatar billede hmortensen Nybegynder
20. november 2005 - 16:30 #19
Du kan også sende (Content-Length: xxx) med så der kan beregenes hvornår en overførelse er færdig.
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