Zuerst habe ich festgestellt, es gibt viele Fragen in Bezug auf diese, viele als doppelt markiert.Sind Bildpfade in einer Datenbank notwendig?
Ich kam schließlich zu this one.
Und die akzeptierte Antwort für diese Frage löst zwar teilweise meine Frage, beantwortet aber nicht alles.
Meine Frage ist, ein Benutzer lädt ein Bild hoch. Ich speichere den Pfad in der Datenbank und die Image-Datei im Dateisystem. Allerdings mache ich 3 Kopien dieses Bildes (groß, mittel und klein). Alles in allem habe ich 4 Bilder - original, groß, mittel, klein.
Sollte ich alle vier Pfade in der Datenbank, wie so
ID | original | large | medium | small |
----+--------------------+-----------------+-----------------+----------------+
1 | /path/to/original | /path/to/large/ | /path/to/medium | /path/to/small |
oder einfach nur den Pfad des ursprünglichen speichern, und geben Sie die anderen 3 eine Namenskonvention, etwa so: car.jpg, car.jpg, large-car.jpg, medium-car.jpg, small-car.jpg
?
Ich fühle, dass dieser Weg weniger schwer auf der Datenbank wäre, und dass, wenn ich später eine andere Größe hinzufügen wollte (dh extra klein), ich die Datenbank nicht ändern müsste.
Nun, es ist ein Blog. Jeder Benutzer hat sein eigenes Verzeichnis. Jedes Mal, wenn der Benutzer einen Blog mit Bildern macht, erstelle ich ein neues Verzeichnis mit der Blog-ID, und innerhalb dieses Verzeichnisses plane ich alle 4 Bilder zu speichern. – sqram
Dann würde ich eine Konstante für die Eltern aller Verzeichnisse haben, 'define ('BLOG_IMAGE_BASE_PATH', '/ images/go/here')' oder was auch immer und im Idealfall eine Methode für das Benutzerobjekt ' Funktion getImagePath() {return BLOG_IMAGE_BASE_PATH. "/". $ this-> blogID; } ', und daraus Bildpfade zusammensetzen. – chaos