Avatar billede cskoven Nybegynder
20. november 2004 - 22:44 Der er 7 kommentarer

"Blob"-input i MySQL

Hey....
Jeg er ved at lave et lille script til at smide billeder ind i MySql-databasen. Til det skal jeg bruge en "Blob"-kolonne i tabellen. Alt hvad der er i en "Blob"-celle, er så vidt jeg ved binært. Jeg kan sagtens putte billederne ind ved at gøre det fra fx. phpmyadmin, men med mit script, viser den bare at der er registreret 0kb i cellen. Det er ikke min form der er noget i vejen med, da andre, fx. text-inputs kommer ind uden probs. Derfor kunne jeg forestille mig man skulle konvertere billedet til binært først. Er der nogen der kender en funktion til det, eller evt. har en anden mulig løsning til problemet? På forhånd tak...
Avatar billede olebole Juniormester
20. november 2004 - 23:04 #1
<ole>

Et billede er altid en binær fil - men hvorfor overhovedet lægge billeder i database? Det er selvfølgelig en teoretisk mulighed at gøre det, men det er noget, man altid undgår, såvidt det overhovedet er muligt.

Databasen bliver urimelig tung og klodset - søgninger i den bliver langsomme - og det tager betydeligt længere tid at hente billederne.
... alt i alt en rigtig skidt løsning  :)

/mvh
</bole>
Avatar billede olebole Juniormester
20. november 2004 - 23:09 #2
... men ellers skal du læse filen binært:

$path = "sti-til-filen.gif";
$fp = fopen($path, "rb");
$bin = fread($fp, filesize($path));

... så indeholder '$bin' de binære data, du kan indsætte i et blob-felt. Men gør det ikke - du fortryder det temmelig sikkert senere  ;o)
Avatar billede olebole Juniormester
20. november 2004 - 23:11 #3
... og husk en ekstra linie, der lukker dokumentet igen:

fclose($fp);
Avatar billede erikjacobsen Ekspert
20. november 2004 - 23:15 #4
Det kan bestemt være en god idé. Søgninger bliver ikke langsommere,
og man har styr på hvor tingene er. Kæmpestore file (zip-filer til
download, mp3 filer på flere MB) ville jeg nok ikke lægge i en DB.

Men din kode er nok lidt forkert. Må vi se?

(Comment ca va, Ole? ... *g*)
Avatar billede olebole Juniormester
20. november 2004 - 23:21 #5
Så må du kunne noget helt specielt, Erik. De eksempler, jeg har set, har ikke fungeret synderlig godt.
Derudover skal man da være noget af et rodeho'de, hvis man ikke kan holde styr på en mappe og en tabel med fil-navne  :)
Avatar billede erikjacobsen Ekspert
20. november 2004 - 23:26 #6
Nu har vi ganske vist aldrig haft fornøjelsen af at drikke så meget som et
glas vand i fællesskab, men ja, indrømmet, jeg er et rodehoved. Det
kan være rart når forholdsvis ikke-alt-for-store billeder ligger i en DB.

Og når søgninger sker gennem et index, som de skal, er der ingen
hastighedsforskel ved søgning, om databasen så indeholder 201-vis
af billeder. Er min erfaring ;)
Avatar billede olebole Juniormester
21. november 2004 - 00:00 #7
... og således nærmede de hvide elefanter sig høfligt hinanden ...  ;D
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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