Hi Tom,
das ist ein ziemlich großer Knoten, den Du hier zu entflechten hast. Du solltest Dir bitte die Zeit nehmen, alle Antworten, die hier die nächsten Tage kommen werden, zu lesen.
Das das ganze nicht trivial ist, ist mir bewusst. Einmal schon desshalb, weil ich bisher nur Desktopanwendungen entwickelt habe und mich erst kürzlich in Webprogrammmierung einzuarbeiten begonnen habe. Das andere ist, dass man, wie mir beim lesen der Antworten konkreter klar wurde, durch unsorgfältiges Arbeiten gehörigen Murks bauen kann.
BLOBs in Datenbanken sollte man vermeiden, wenn es geht, und sie diskret als File auf der Platte speichern. Das Filesystem kennt mehr Mechanismen für die Balancierung, als eine Datenbank, denn die ist ja selber i.d.R. Bestandteil des Filesystems.
Kürzlich habe ich mir eine (Desktop-)Bilddatenbank gebaut. Das Ding enthält Blobfelder für 3 verschiedene Bildformate: zum einen die originalen RAW-Dateien aus der Kamera mit je ca. 10MB, zum andern Bitmaps, die vorgesehen sind für den Fall, dass Bilder bearbeitet werden müssen; deren Grösse habe ich noch nicht festgelegt, da sie dreimal grösser als die RAW-Bilder bei gleichen Abmessunge sind. Und zu guter letzt habe ich Thumbnails im Jpeg-Format mit 1.2kb, die beim Navigieren durch die DB zum Einsatz kommen. Abschreckend könnte dabei nur sein: Das Einlesen der RAW-Bilder (und herstellen der Thumbnails) dauert eine Ewigkeit (ca. 25 Minuten/200 Bilder).
Für dieses DB-Programm hatte ich mir auch überlegt, nur die Pfade in die DB aufzunehmen.
ist dieses unter dem angegebenen Pfad nicht vorhanden.
Klar. Hier kommt dann beim Apachen der "Rewrite Modus", also die Rewrite Engine ins Spiel. Alle Requests, die z.B. auf "http://ecample.org/image/*", also z.B. auch "http://ecample.org/image/3000789.jpg" werden auf ein Script umgeleitet, das die Anfrage nach Bild 3000789.jpg bearbeitet und beantwortet.
Beim Apachen ist das geschützte Verzeichnis, soweit ich weiss, .htpAccess - unter den IIS ist dies INetpup. Ich hatte mich damals nicht zuletzt auch aus Sicherheitsgründen entschieden, in die DB die Bilder selbst und nicht nur deren Pfade aufzunehmen. Dazu kommt: besonders in den Anfängen hatte ich verschiedene externe Grafikprogramme benutzt und dank einiger dieser 'Spezialisten' gewisse Bilder plötzlich doppelt und dreifach auf der Platte. Dank der DB kann ich mir einen klaren Überblick verschaffen, was ich habe und muss nicht befürchten, dass Löschaktionen auf der Festplatte auch Bilder betreffen, die nicht gelöscht werden dürfen.
Als Webdatenbank habe ich mir nun was ähnliches vorgestellt - nur, dass diese wohl nur ausschliesslich Jpegs mit einer grossen Seitenlänge von maximal 1024pxx bei einer Qualitaet unter 100% enthält. Grundsätzlich könnten sich die Bilder auch in einem geschützten Verzeichis befinden. Wichtig ist, dass sie vor Fremdmanipulation geschützt sind, dass sie leicht ausgetauscht und problemlos zwischen ihnen navigiert werden kann.
Gruss
Delbor
Man muss nicht alles wissen.
Man muss nur wissen, wo's steht
Albert Einstein