Ironwhistle: Flatfile DB?

Hi

Ich bin ein ziemlicher Neuling im bereich PHP und Datenbanken und stehe nun vor folgendem Problem:

Ich würde gerne eine Fotogalerie realisieren in der ich eine Hauptseite habe mit Thumbnails von welchen aus man mit Links auf die entsprechende Unterseite mit dem eigentlichen Foto kommt.

Nun habe ich aber verteufelt viele Bilder die ich darstellen möchte und will nicht für jedes eine einzelne Extraseite schreiben...

MySQL habe ich keines, auch sonst keine Datenbank, so das ich ständig auf Flitfiles angewiesen bin (Also .txt oder .dat).

Wie kann ich es erreichen das ich html Code in eine Flatfile schreibe und dieser dann entsprechend ausgelesen und in der index.php (dynamisch) angezeigt wird???

Gedacht hatte ich mir die Datenbank in etwas so:

Datensatz 1: <html quellcode bild1>
Datensatz 2: <html quellcode bild2>

etc.etc.etc...

Wäre prima wenn mir jemand weiterhelfen könnte!

Grüße
Iron

  1. Hi,

    Datensatz 1: <html quellcode bild1>
    Datensatz 2: <html quellcode bild2>

    wenn der html-code für die einzelnen bilder in einer zeile steht ist das
    auch kein problem, du ließt die datei zeilenweise und gibst sie aus.

    du kannst diesen flatfiles auch andere endungen geben wenn du willst,
    nichtnur .txt oder .dat, du könntest z.B. auch .pkz machen oder sonst
    irgendetwas.

    MfG

    1. wenn der html-code für die einzelnen bilder in einer zeile steht ist das
      auch kein problem, du ließt die datei zeilenweise und gibst sie aus.

      Für mich ist's schon ein Problem - ich will ehrlich sein; ich bin blutiger Anfänger was php betrifft...

      Ich bekomme den Inhalt einer Datei zwar dynamisch geladen

      echo " <a href=?sheduler=dates>[ Termine ]</a>";
      echo " <a href=?sheduler=tipps>[ Tipps ]</a>";

      if ($sheduler == "dates") { include("contents/dates.txt"); }
      if ($sheduler == "tipps") { include("contents/tipps.txt"); }

      Aber mehr eben nicht.

      Wie kann ich nun eine bestimmte Zeile aus der Datei, Beispiel, tipps.txt auslesen und verwenden? Wie spreche ich sie an und wie bringe ich Zeile XY anzuzeigen statt alles auf einmal?

      Danke schonmal...

      1. Hi,
        also die datei bekommst du mit file()
        komplett eingelesen, ansonsten bleibt dir noch fgets() für
        zeilenweises einlesen. nach einem zeilen umbruch \n stopt es
        automatisch. alles weitere wird eigentlich im php-manuel erklärt,
        solltest du trotzdem noch rückfragen haben dann stell sie.

        MfG

  2. Hallo Ironwhistle,

    wenn du PHP 5 hast, kannst du eine SQLite-Datenbank erstellen. Das sind auch gewissermaßen Flatfiles, die aber über Funktionen mittels SQL angesprochen werden können und dadurch unter anderem in der Geschwindigkeit nicht an MySQL herankommen, aber doch recht effektiv genutzt werden können.

    Mehr dazu:
    http://www.php.net/manual/de/ref.sqlite.php

    Bis dann!

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
  3. Hallo Ironwhistle,

    Gedacht hatte ich mir die Datenbank in etwas so:

    Datensatz 1: <html quellcode bild1>
    Datensatz 2: <html quellcode bild2>

    das ist extrem suboptimal. Ist hierfür denn überhaupt eine Datenbank notwendig?

    Der variable Bestandteil in deinem Beispiel ist die URL zum Bild.

    Deine Übersicht würde so aussehen
      <a href="grossesbild.php><img src="bild1....></a>
      <a href="grossesbild.php><img src="bild2....></a>

    Jetzt hast du viele Bilder und eine Datei die die Darstellung übernehmen soll. Du fragst dich nun, wie diese Datei weiß, welches Bild angezeigt werden soll? Stimmt. Diese Information hängen wir einfach an die URL dran. Mit PHP kannst du dann selbige auslesen und den dynamischen Teil (die URL zum Bild) der Seite erzeugen.

    Also:
      <a href="grossesbild.php?bild=bild1.jpg><img src="bild1....></a>
      <a href="grossesbild.php?bild=bild2.jpg><img src="bild1....></a>

    Die Indexseite für die Übersicht ist hiermit bereits erledigt.

    Zur Anzeige in "grossesbild.php" benötigst du nur noch die URL zum Bild. $image = $_GET['bild'] liefert dir das. Noch zusammenbasteln und

    echo "<img src="$image ....

    Fertig!

    Oder habe dich irgendwie falsch verstanden?

    Grüße,

    Jochen

    --
    Heute schon gescribbelt?
    Scribbleboard
    1. Fertig!

      Oder habe dich irgendwie falsch verstanden?

      Grüße,

      Jochen

      Klappt wunderbar!!! :)))

      Tausend Dank!

  4. Hi Iron,

    für eine Bildergalerie (o. ä.) braucht man trotz oft propagiertem Gegenteil keinerlei Datenbanken. Mittels PHP kann man Verzeichnisinhalte auslesen und in HTML-Strukturen ausgeben. Es bedarf also nur einer Logik bei der Namensvergabe der einzelen Bilder. Sieh Dir dazu am besten http://de3.php.net/manual/de/ref.filesystem.php an.

    Gruß aus Berlin!
    eddi