• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mögliche Upload-Varianten

Konda

Neues Mitglied
Hallo Community,

ich bin ein Neuling was PHP und MySQL angeht,
und ich wollte hier mal einige Fragen über Upload-Varianten stellen.

Ich habe eine MySQL-Datenbank und möchte in einer Tabelle Bilder speichern.

Da kommen wir auch zu der ersten Frage...
Kann man Bilder (oder alle möglichen Daten) direkt in der Tabelle speichern?
Wenn Ja, ist dies auch empfehlenswert?

Bzw. mir schwebt noch was anderes im Kopf vor...
Man packt Daten in einen Ordner und schreibt in die Datenbank nur den Pfad...

Welche der Varianten ist denn üblicher? Oder gibt es noch weitere Varianten?

Ich bedanke mich schon mal :)

Grüße
Konda
 
Kann man Bilder (oder alle möglichen Daten) direkt in der Tabelle speichern?

Ja natürlich. Stichwort wäre Blob.

Wenn Ja, ist dies auch empfehlenswert?

Kommt imho drauf an wie viel und warum Du es so speichern willst. Hauptkriterium für die Entscheidung sollten Geschwindigkeit und Datenbankgröße sein. Je größer eine Datenbanktabelle mit Blobs wird umso länger kann (!) es dauern bis Datensätze in dieser Tabelle eingelesen, bearbeitet oder gespeichert werden. Gilt jedoch nicht zwingend für jedes Datenbanksystem. Bei MySQL wäre ich vorsichtig, bei Oracle ist das performanter.

Man packt Daten in einen Ordner und schreibt in die Datenbank nur den Pfad...

Das wäre die Alternative, durchaus auch praktikabel wenn o.g. Kriterium gegen eine Speicherung der Dateien direkt in der Datenbank sprechen.

"Üblich" ist btw. keine der Varianten. Jede hat ihre Vor- und Nachteile.
 
Ein weiterer Nachteil des In-die-Datenbank-Schreibens ist der, dass das Backup möglicherweise etwas unhandlich wird. Viele Bilder sorgen dort für eine riesige Backup-Datei. Ein einzelnes geändertes Bild macht eine riesige neue Backup-Datei erforderlich.
 
Danke erstmal für die Antworten,
aber ich hätte dazu noch eine Frage anhand eines konkreten Beispiels...

Sagen wir, ich hätte eine Tabelle welche mit Userdaten (Benutzername,...) gefüllt ist.
Ein User hat natürlich auch ein Avatar und wenn man noch weiter geht vielleicht auch ein Signaturbild.
Lohnt es sich die einzelnen Avatare und Signaturbilder in die Datenbank einzuspeichern? Oder sollte ich das über einen Pfad machen?

Grüße
Konda
 
Also ich persönlich würde nur die Pfade speichern, sonst wird die Datenbank, wie bodil gesagt hat, unhandlich für backups.
Außerdem finde ich, dass ein Ordner auf dem FTP für Bilder übersichtlicher ist.
 
Bilder in eine Datenbank direkt speichern ist sinnlos, wenn es anders geht. Die Lese- und Schreibzeit, die dafür benötigt wird, ist einfach zu groß, damit sich sowas lohnt. Mal ganz davon abgesehen, dass du bei 'nem HTTP-Request für das Bild auch noch das Bild komplett aus der Datenbank laden musst. Schieb die URL des Bildes in die Datenbank oder nenne die Datei wie die Id des Bildes oder Avatars oder Benutzers.
 
Zurück
Oben