4 Stimmen

php-Bild-Upload

Welches ist der bessere Ort zum Hochladen von Bildern? In eine Datenbank oder in das Webverzeichnis? Und warum?

4voto

Ben Carlsson Punkte 397

Sie sollten Bilder nur dann in Ihrer Datenbank speichern, wenn dies aus Sicherheitsgründen erforderlich ist oder wenn Sie unbedingt alle benutzerdefinierten Daten in einer Datenbank speichern müssen.

Abgesehen davon ist es in der Regel nicht der Mühe wert, große Dateien in Datenbanken zu speichern. Das Speichern und Abrufen der Datei wird dadurch viel komplizierter, und bei Datenbankaktualisierungen, -aktualisierungen und -konvertierungen gibt es viel mehr Dinge, die schief gehen können.

2voto

robjmills Punkte 18099

Ich sehe nicht, dass es einen Vorteil hat, Bilder in einer Datenbank zu speichern. Es gibt sicherlich keine inhärente Sicherheit in diesem Bereich. Dateien sind für das Dateisystem, also speichern Sie Ihre Bilder dort.

0voto

Raphael Caixeta Punkte 7744

Ich glaube nicht, dass Sie ein Bild in eine Datenbank "hochladen" können. Sie können den String-Wert des Bildes in der Datenbank speichern und ihn später per "header("Content-Type")" übertragen. Das spart Platz auf dem Webserver, benötigt aber natürlich Platz in der Datenbank.

An Ihrer Stelle würde ich das Bild in ein Webverzeichnis hochladen, damit Sie es später für eine normale URL-Anfrage zur Verfügung haben. Wenn Sie es nicht in einem regulären Verzeichnis haben, müssen Sie jedes Mal eine Verbindung zur Datenbank herstellen, wenn das Bild angefordert wird, und es dann streamen.

0 Stimmen

"image's string value" <- was ist das? es ist sicherlich möglich, die binären Daten des Bildes in einen Blob zu schreiben und später abzurufen.

0 Stimmen

Das ist es, was ich meinte. Ich kannte den korrekten Begriff dafür nicht, ich bitte um Entschuldigung.

0voto

MKumar Punkte 1504

Nun, das hängt von Ihren Anforderungen ab. Wenn Sie die Sicherheit als ein wichtiges Thema betrachten, dann sollten Sie sie auf jeden Fall in der Datenbank speichern, da sonst nichts dazu führt, dass Sie Bilder in der Datenbank speichern.

Auch das Zurückziehen von Bildern aus der Datenbank ist ziemlich kompliziert, da Bilder in der Datenbank als Binärdaten gespeichert werden. Wenn Sie also einen speziellen Bedarf haben, dann sollten Sie nur Bilder in der Datenbank speichern, ansonsten ist es in Ordnung, Bilder in einem Verzeichnis zu speichern.

0voto

Flakron Bytyqi Punkte 3242

Wie Sie sehen können, gibt es viele Gründe, warum man die Datenbank für die Bildspeicherung verwenden sollte oder nicht. Ich persönlich ziehe es vor, die Datenbank nicht für die Speicherung von Dateien (Bilder, Dokumente usw.) zu verwenden, es sei denn, ich habe den Auftrag, sie zu speichern.

-Manchmal ist man müde und vermasselt eine Abfrage, wie z.B. "SELECT * FROM images", was den Server zum Absturz bringt, wenn zu viele Bilder mit großer Größe (2MB und mehr) in der Datenbank vorhanden sind. -Das Sicherheitsproblem: Sie können die Dateien immer noch auf der Festplatte speichern und trotzdem sicher sein, wie? Speichern Sie die Dateien außerhalb des Webverzeichnisses, lesen Sie die Datei, wenn sie angefordert wird, und geben Sie sie an den Benutzer weiter. -Wenn Sie zufällig MySQL benutzen: Wenn Ihre Datenbank zu groß geworden ist (sagen wir 2-3 GB) und Sie ein Shared Hosting benutzen, dann viel Glück beim Erstellen des Backups oder beim Versuch, die Bilddatenbank wiederherzustellen.

Das ist nur meine Sicht der Dinge.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X