Thorsten: Pfad zum Bild in Datenbank

Guten morgen Forum,

ich möchte gerne einige Bilder per Datenbank auf meine Website ausgeben lassen. Die Bilder sind abgelegt in einem Unterordner und der Pfad dorthin ist in der MySQL DB eingetragen. Nun möchte ich von euch wissen welcher Pfad den richtig ist:

Vollständige Angabe zum Bild:

http://www.allesklar.de/pics/123.gif

oder eher gekürzt:

pics/123.gif

Beide Varianten funktionieren, nur habe ich das Gefühl das eine vollständige Pfadangabe die Performance stören könnte!

Wie schreibt Ihr den in die Datenbank oder habt Ihr einen link wo ich so was nachlesen kann?

Danke für antworten!

  1. Guten Morgen Thorsten,

    Wie schreibt Ihr den in die Datenbank oder habt Ihr einen link wo ich so was nachlesen kann?

    ich schreibe nur den Dateinamen in die Tabelle.
    Die Pfade stehen im Script oder in einer settings_inc.php.
    Ob die Pfadangabe die Performance bei dir beeinflusst kann ich nicht beurteilen.
    Ein Link kann ich dir auch nicht anbieten, ich gehe so vor, weil es mir logisch erschien als ich mich dafür entschieden hab ;)

    Grüße, Matze

    1. Hallo dedlfix, Matze und Malcolm Beck´s,

      also wie ich dass jetzt alles hier gelesen habe würde ich die Variante von Matze und dedlfix bevorzugen. Dankeschön für eure guten antworten!

      Wünsche euch ein schönes Wochenende!

      Gruß,

      Thorsten

  2. hi,

    Vollständige Angabe zum Bild:

    http://www.allesklar.de/pics/123.gif

    Und was tun, wenn du Bspw. 4.000 Bilder in der Tabelle gespeichert hast und dann den Domain-Namen ändern möchtest, bspw. von „www.example.org“ zu „example.org“ oder „web.example.org“?

    oder eher gekürzt:

    pics/123.gif

    Das würde ich bevorzugen, aber dann eher mit einer Absoluten statt einer Relativen URI, also einem „/“ am anfang, falls die Bilder immer in /pics/ abgelegt werden (/pics/123.gif).

    Beide Varianten funktionieren, nur habe ich das Gefühl das eine vollständige Pfadangabe die Performance stören könnte!

    Glaube ich nicht. Wenn du aber viele Bilder in deine Seite einbindest, ist es sogar Ratsam, die Ressourcen auf verschiedene Server zu verteilen, da einige Browser nur 2 - 4 Downloads pro Request auf eine Domain absetzen können.
    Das würde die Performance sogar noch steigern.

    Wie schreibt Ihr den in die Datenbank oder habt Ihr einen link wo ich so was nachlesen kann?

    So wie die 2te Variante + Alt + ggf. Longdesc + ggf. Title + ggf. Klasse und und und ;)
    Die width und height Angaben fügt dann das bearbeitende Script hinzu, sollte aber gemacht werden.

    mfg

    1. Hi!

      pics/123.gif

      Das würde ich bevorzugen, aber dann eher mit einer Absoluten statt einer Relativen URI, also einem „/“ am anfang, falls die Bilder immer in /pics/ abgelegt werden (/pics/123.gif).

      Falls. Und wenn nicht? Dann hast du das gleiche Problem wie beim Domainwechsel (und redundante Daten obendrein). Den Pfad zum Ablageort im Dateisystem sollte man soweit einkürzen wie es geht, also ausgehend vom Bilder-Ordner nur eventuelle zum Einsortieren verwendete Unterordner und den Dateinamen:

      123.gif
      urlaub/2008/hamudistan001.jpg
      familie/mutters_sohn/bild0815.jpg

      und so weiter, also auch ohne führenden /.

      Es kann nun zwei Vorsätze vor diese Dateinamen gegen: der Pfad im Dateisystem und die URL, die ja auch grundsätzlich vom Dateisystem unabhängig sein kann, weil man beispielsweise ein Anzeigescript verwendet (/zeige_bild.php?bild=). Beide Vorsätze kann man irgendwo in seinen Konfigurationseinstallungen festhalten und bei Bedarf und situationsabhängig vor die Bilddateinamen setzen.

      Lo!

      1. hi,

        der Pfad im Dateisystem und die URL, die ja auch grundsätzlich vom Dateisystem unabhängig sein kann, weil man beispielsweise ein Anzeigescript verwendet (/zeige_bild.php?bild=).

        Ich hätte wohl erst nachsehen sollen, wie ich ich es selbst gelöst hatte ;)

        /show?pic=1...
        /pop?pic=1

        In der Datenbank stehen lediglich die Dateinamen -- die möglichen Verzeichnisse, in denen Bilder sind, stehen auch in der DB und werden für jedes Bild per ID zugewiesen.

        img_folder
        id | folder
        ---+--------
        1  | img
        2  | images
        3  | bilder

        img_meta
        id | name     | folder | alt_text         | title                 | longdesc           | class
        ---+----------+--------+------------------+-----------------------+--------------------+---------
        1  | bild.jpg | 2      | bildbeschreibung | auch bildbeschreibung | lange beschreibung | sonstiges

        Den rest erledigen Scripte, Bspw. Thumbs (wenn vorhanden), id, width und height für jedes Bild.

        mfg