Jens: Bilder in einer Datenbank speichern

Hallo,

ich habe eine Webseite zu verwalten auf der sehr viele Bilder sind. Diese Bilder würde ich gern im einen Datenbank speichern wollen. Außerdem soll es berechtigten Nutzern möglich sein auch Bilder in die Datenbank zu laden. Was ist besser ??? Nur den Link vom das Bild liegt oder die Bilder in die Dtaenbank laden ???

Hat jemand irgendwie damit schon Erfahrungen gemacht und kann mir ein wenig helfen ???

MfG
Jens

  1. Hallo!

    ich habe eine Webseite zu verwalten auf der sehr viele Bilder sind. Diese Bilder würde ich gern im einen Datenbank speichern wollen.

    Lese Dir mal folgenden Beitrag durch.
    15.3. Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
    http://www.dclp-faq.de/q/q-db-blob.html

    Außerdem soll es berechtigten Nutzern möglich sein auch Bilder in die Datenbank zu laden. Was ist besser ??? Nur den Link vom das Bild liegt oder die Bilder in die Dtaenbank laden ???

    Über eine Uploadfunktion kann der User Bilder hoch laden. Über ein Script/Programm wird dann für den Eintrag in die Datenbank gesorgt.

    10.11. Wie funktioniert ein Datei-Upload über HTML-Formulare?
    http://www.dclp-faq.de/q/q-formular-upload-php4.html

    Hat jemand irgendwie damit schon Erfahrungen gemacht und kann mir ein wenig helfen ???

    Ich habe das hier schon 1000 mal geschrieben... ;-)

    Ich habe so ein System für eine Modelagentur entwickelt. Die Fotos (glaube derzeit 6000 Stück -> Foto + Thumbnail) liegen alle in einem Verzeichnis. Der Foto-Name ist in der Datenbank abgelegt. Die Fotos haben alle eine fortlaufende Nummer. Da es sich nur um JPGS-handelt, ist der Dateityp nicht mit abgelegt.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Ok ... den ersten Link hab ich gelesen.

      und wie hast du das mit dem anzeigen realisiert ... das er mir zum kleinen bild das grosse passende ausliest ???

      1. Hallo!

        und wie hast du das mit dem anzeigen realisiert ... das er mir zum kleinen bild das grosse passende ausliest ???

        Ich habe das Thumbnail und das Foto als "Fotosatz" definiert. Ein Fotosatz ist das Thumbnail und das Foto.

        fotosatz  model_id   thumbnail   foto
        1            5           127     128
        2            5           129     130
        3            3           141     142
        4            5           145     146
        5            1           167     168
        6            2           191     192

        Die Foto-Nummer ist immer um eins höher als die Thumbnail-Nummer, weil Thumbnail und Foto gemeinsam hochgeladen werden müßen. Bei dem System habe ich es auch so festgelegt, das man beides hochladen muß. Man kann auch nicht nur das Thumbnail oder Foto auswechseln. Zur Sicherheit wird die Existens einer Nummer überprüft. Praktisch sollte es aber kein Doppler geben. Zu 90% ist das Foto immer das Thumbnail+1.
        Ich habe damals die "Fotodatenbank" übernommen. Die wurde dazu auch händisch gepflegt. Die hat aber auch nicht den Regeln einer relationen Datenbank entsprochen. Es waren auch Foto-Namen (anna_1_thumb.jpg usw.) abgelegt. Bei der Umstrukturierung kam es dann zu Thumbnail=15 und das Foto=123. Deshalb kann ich nicht von Thumbnail+1 für das Foto ausgehen.

        Die Sortierreihenfolge steht in einer Spalte, die ich hier nicht mit angegeben habe. Kann ja sein, daß man Fotos eines Models in einer bestimmten Reihenfolge anzeigen möchte.

        MfG, André Laugks

        --
        L-Andre @ gmx.de
        1. Hi André,

          Die Foto-Nummer ist immer um eins höher als die Thumbnail-Nummer, weil Thumbnail und Foto gemeinsam hochgeladen werden müßen.

          ist das dann nicht irgendwie redundant im Datenmodell?
          (Abgesehen davon, daß ich beide Dateinamen minimal unterschiedlich aufgebaut und dann unter Verwendung einer gemeinsamen Nummer generiert hätte ...)

          Viele Grüße
                Michael

          --
          T'Pol: I apologize if I acted inappropriately.
          V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
          1. Hallo Michael!

            ist das dann nicht irgendwie redundant im Datenmodell?
            (Abgesehen davon, daß ich beide Dateinamen minimal unterschiedlich aufgebaut und dann unter Verwendung einer gemeinsamen Nummer generiert hätte ...)

            Was meinst Du ist redundant an dem Datenmodell?

            Redundanzen gibt es eigentlich nicht. Der Dateiname für das Thumbnail und Foto wird auch nicht anhand einer Nummer generiert.

            Für das Thumbnail und das Foto wird jeweils das folgende SQL-Statment ausgeführt:
            SELECT GREATEST(MAX(thumbnail), MAX(foto))+1 AS nummer FROM  fotosatz;

            Sagen wir es mal so, ich habe Aufgrund der Leute, die die Fotos hochladen, beschlossen es gehen nur beide Fotos. Es war so vorgesehen, das man auch entweder das Thumbnal oder Foto auswechseln kann, wegen Qualitätsmängeln zum Beispiel. Man kann Fotos (Thumb + Foto) auch nicht auswechseln, sondern nur komplet neu hochladen. Es wir immer eine neue Nummer vergben.
            Fotos werden auch nicht wirklich gelöscht, sondern im Verzeichnis mein einem _ "markiert". Es wird ein tägliches Backup von der DB gemacht. So kann ich im Notfall Daten wieder rekonstrieren. Fotos die als gelöscht makiert wurden, kann ich dann wieder schnell automatisch umbenennen.

            Es ist also mit der Zeit so gekommen, daß Foto=Thumbnail+1 ist. Aber wie gesagt, daß ist nicht immer so. Bei ca. 10% der Datensätze ist es nicht so. Das ist dann das Thumbnal 1.jpg und das Foto 141.jpg.

            MfG, André Laugks

            --
            L-Andre @ gmx.de
            1. Hi André Laugks,

              Was meinst Du ist redundant an dem Datenmodell?

              wenn Foto und Thumbnail semantisch eine Einheit sind, dann "verdienen" sie auch einen gemeinsamen Primärschlüssel, der dann in beiden (unterschiedlich gebildeten) Dateinamen ("foto<$key>.jpg", "thumb<$key>.jpg") verwendet wird. Eine Spalte Deiner Tabelle ist dann überflüssig.

              Redundanzen gibt es eigentlich nicht. Der Dateiname für das Thumbnail und Foto wird auch nicht anhand einer Nummer generiert.

              Sollte er aber (weil das der Semantik Deiner Anwendung entspricht). Du hast gar keine Bilder - in Wirklichkeit hast Du Bilderpaare.

              Es ist also mit der Zeit so gekommen, daß Foto=Thumbnail+1 ist. Aber wie gesagt, daß ist nicht immer so. Bei ca. 10% der Datensätze ist es nicht so. Das ist dann das Thumbnal 1.jpg und das Foto 141.jpg.

              Nichts außer dem Aufwand spricht dagegen, durch ein kleines Programm alles automatisch umzunumerieren und Dein Datenmodell damit zu verschlanken.
              (Solche Diskussionen führt man natürlich am besten _vor_ dem Projektbeginn und nicht Jahre später.)

              Viele Grüße
                    Michael

              --
              T'Pol: I apologize if I acted inappropriately.
              V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
              (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
              1. Hallo!

                wenn Foto und Thumbnail semantisch eine Einheit sind, dann "verdienen" sie auch einen gemeinsamen Primärschlüssel, der dann in beiden (unterschiedlich gebildeten) Dateinamen ("foto<$key>.jpg", "thumb<$key>.jpg") verwendet wird. Eine Spalte Deiner Tabelle ist dann überflüssig.

                Genau dagegebn habe ich mich damals entschieden. War eine Geschmacksfrage.

                MfG, André Laugks

                --
                L-Andre @ gmx.de