Bilder in Datenbank speichern?
Moses
- datenbank
Hallo,
mal eine grundsätzliche Frage, kann man eigentlich gifs und jpgs in einer Datenbank speichern?
Wie müßte das Datenbankfeld deklariert sein und wie bekomme ich die Bilder in die Datenbank rein (Text kann ich ja einfach schreiben aber Bilder?)- und natüclih wieder raus?
Ich weiß ich könnte die Bilder natürlich in einem Verzeichnis in meinem Web speichern und dann in der Datenbank einfach ein Linkfeld einfügen, wäre aber schicker wenn ich bestimmte Grafiken/Bilder direkt mit dem Datensatz speichern könnte.
Ach so ja, ich arbeite mit MySql Datenbank und Php.
Danke und beste Grüße,
Moses
Hallo,
du speicherst nicht Bilder in einer Datenbank, sondern deren Namen.
Hallo Moses,
hast Du auch wirklich schon im Forums-Archiv gesucht?
Gib einfach Deine Frage oben links ins Suchfeld ein, genau so, wqie Du sie hier im Titel gestellt hast und lass dich überraschen.
Bis Morgen dann
Dann dürftest fertig sein mit dem Lesen der Tipps
Tom
Moin!
mal eine grundsätzliche Frage, kann man eigentlich gifs und jpgs in einer Datenbank speichern?
Ja, kann man.
Wie müßte das Datenbankfeld deklariert sein und wie bekomme ich die Bilder in die Datenbank rein (Text kann ich ja einfach schreiben aber Bilder?)- und natüclih wieder raus?
Du legst ein BLOB-Feld an und baust Skripte, die diese Felder befüllen und auch wieder auslesen.
Ich weiß ich könnte die Bilder natürlich in einem Verzeichnis in meinem Web speichern und dann in der Datenbank einfach ein Linkfeld einfügen, wäre aber schicker wenn ich bestimmte Grafiken/Bilder direkt mit dem Datensatz speichern könnte.
Es ist nicht schicker. Es frißt enorm Performance, weil du Bilder nicht mehr direkt referenzieren kannst, sondern für jedes Bild ein Skript starten musst, welches die Bilddaten wieder aus der Datenbank ausliest. Würdest du die Bilder direkt als Datei auf dem Webserver ablegen, könnte dieser alle seine seit Jahren erfundenen Caching- und Beschleunigungsmechanismen anwenden, um die Bilder schnell an den Mann zu bringen (große Anbieter mit vielen Bildern verwenden sogar extra Bilderserver, um sie schnell auszuliefern).
Das Ausliefern eines in der Datenbank gespeicherten Bildes kann durchaus zehnmal so lange dauern, verglichen mit der klassischen Methode.
Wenn du dir selbst einen Gefallen tun willst, dann speicherst du in der Datenbank lediglich den Pfad zum Bild.
Wenn du es ganz schlau anstellst (und die Daten es hergeben), dann speicherst du nicht mal den Bildnamen, sondern benennst das Bild entsprechend der Datensatz-ID. Auf diese Weise ist das Bild aufgrund seines Namens eindeutig dem Datensatz zugeordnet.
- Sven Rautenberg