Sven Rautenberg: Fotos/Bilder in MySQL Datenbank

Beitrag lesen

Moin!

Hallo Leute. Kann man eigentlich zu einem Datensatz in einer MySQL Tabelle ein Bild oder ein Foto speichern? Man könnte sich ja vorstellen, daß man eine Liste ausgibt und zu jedem Datensatz ist zusätzlich eine Spalte mit einem link oder so etwas, daß dann das dazugehörige Foto öffnen kann.

Es gibt zwei Möglichkeiten:

1. Du speicherst die binären Daten des Bildes in einem BLOB-Feld. Dann benötigst du aber zum Anzeigen des Bildes im Browser ein weiteres PHP-Skript, welches das Bild aus der Datenbank ausliest und anzeigt. Außerdem wird die Datenbank dadurch ziemlich groß und voll.

2. Du speicherst das Bild als Datei auf der Festplatte, gibst ihm ggf. einen eindeutigen Namen (verwende gerne die Datensatz-ID dazu), und speicherst, falls notwendig, den Dateinamen als String in der Datenbank. Dann benötigst du kein extra PHP-Skript zum Bild-Auslesen, sondern kannst einfach den IMG-Link ausgeben, und der Server liefert dann automatisch das Bild dazu. Das spart auch Traffic, weil der Browser und zwischengelagerte Proxys das Bild cachen können - das müßtest du mit deinem Extra-Skript sonst selbst regeln.

- Sven Rautenberg