Kadir: Ich bin nervlich am Ende: PHP-Gästebuch

Hallo!

Die Überschrift drückt es bereits aus: ich habe keine Nerven mehr.

Ich hock seit Mittag vor dem Computer, nur um EINE Bildergalerie auf eine Homepage zu integrieren. Aber egal, welches Beispiel ich nehme, entweder funktioniert es von Anfang an nicht, oder es setzt MySQL voraus oder Thumbs werden nicht generiert oder es hat zuviel oder es hat zuwenig oder es ist Shareware oder die klitzekleinste Änderung macht alles zugrunde.

PHP kann ich (noch) nicht, aber Java und ASP, verstehe also ein wenig von der Materie.

Was ich brauche:

  • kein mysql
  • bilder aus einem Ordner dynamisch auslesen
  • Weiter und Zürück als Navigation
  • Thumbs-Generierung (wenn möglich: variable Grössen)

Was toll wäre (kein Muss):

  • etwas das funktioniert
  • einfacher Admin-Login mit File-Upload (evtl. als zip?)

Ich habe bereits www.hotscript.com abgeklappert und ~90 (!) Skripts angeschaut/getestet (danke nochmals für den Tip)! Mein Server unterstützt das GD Zeugs, aber mysql will ich nicht.

Ich brauche ein neues Skript.
Kann mir einer weiter helfen?

Ich bitte euch, helft mir!
*verzweifeltdiefingerfress*

In diesem Sinne, danke

mfg Kadir

  1. Hallo!

    Die Überschrift drückt es bereits aus: ich habe keine Nerven mehr.

    *lach*

    Aber mal ganz ehrlich: Dann laß es sein. Gästebücher sind für Pensionen nicht für informative Web ;)

    Gruß aus Berlin!
    eddi

    1. Hallo!

      Die Überschrift drückt es bereits aus: ich habe keine Nerven mehr.

      *lach*

      Aber mal ganz ehrlich: Dann laß es sein. Gästebücher sind für Pensionen nicht für informative Web ;)

      Gruß aus Berlin!
      eddi

      Hi!

      Du musst es auch nicht machen! Das mag evtl. auch an meiner Ermüdung liegen, aber die verdammte Galerie will nicht funktionieren sowas hab ich nicht erlebt.

      Leider muss das Ding fertig werden > Privatauftrag

      1. Hallo Kadir,

        Du musst es auch nicht machen! Das mag evtl. auch an meiner Ermüdung liegen, aber die verdammte Galerie will nicht funktionieren sowas hab ich nicht erlebt.

        Dein Titel ist ein wenig falsch dann, denn im Titel steht PHP-Gästebuch.
        Das hat mit einer Galerie nichts zu tun... ;-)

        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
      2. Hello,

        Leider muss das Ding fertig werden > Privatauftrag

        Da sollte man jemanden beauftragen, der sich damit auskennt ;-)

        Mal ganz offen: ohne den Druck im Nacken, dass Du dich da zu weit aus dem Fenster gelegt hast, würdest Du es vielleicht nicht anpacken, aber genaus dieser Druck im Nacken ist keine gute Voraussetzung, um hier im Forum PHP von der Pike auf zu lernen.

        Das macht den Leuten hier auch selten Spaß, wenn der Fragesteller dann schnell nervös wird und meint, keine Zeit für eigene kleine Übungen und Tests zu haben. Wie willst Du aber sonst das Verständnis für eine "etwas andere Programmiersprache" vermitteln?

        Du solltest Dir also erstmal ein Detailproblem rausgreifen, es mit normalen Worten ausführlich beschreiben und dann Deine Lösungsansätze schildern. Dann bekommst Du bestimmt postwendend wertvolle Anregungen.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hallo Kadir,

    in der Zeit in der du jetzt diese Skripts durchgeschaut hast hättest du ein auf dich selbst angepasstes Skript in PHP schreiben können - PHP-Kenntnisse vorrausgesetzt.

    Wenn du ein solches Skript benötigst schreibst du es (ehrlich!) besser selbst, dann ist es ganz auf deinen Geschmack abgestimmt und nicht mit allen möglichen Funktionen zugemüllt, die du (zurecht) meist gar nicht brauchst.

    Was ich brauche:

    • kein mysql

    Lass es einfach weg, mir gefällt es auch nicht so - außerdem braucht man es zum dynamischen Einlesen eines Ordners mit Bildern nicht wirklich, da die Daten von den Bildern abhängen.

    • bilder aus einem Ordner dynamisch auslesen

    Mit der Funktion opendir() kannst du ein Verzeichnis öffnen, mit closedir() schließen.
    Einlesen kannst du die Einträge einzeln mit der Funktion readdir().

    Die beste Ressource zu PHP ist meiner Meinung nach http://www.php.net/, dort kannst du so gut wie alles hierüber erfahren...

    • Weiter und Zürück als Navigation

    Einfach mit PHP die Navigationslinks ausgeben lassen (Stichwort echo).

    • Thumbs-Generierung (wenn möglich: variable Grössen)

    Eine Generierung von Thumbnails wirkt sich sehr belastend auf den Server aus, vor allem auch noch wenn jedes Mal die Thumbnails neu generiert werden müssen.
    Zudem sehen die von PHP erstellten Thumbnails _sehr_ pixelig aus!
    Um blitzschnell Thumbnails zu erzeugen, empfehle ich ImageMagick, das eigentlich von Unix stammt - aber mittlerweile gibt es auch Ports für Windows.
    Das Ganze ist ein Konsolentool, das blitzschnell Bilder nachbearbeiten kann.

    Eine Thumbnail-Bat-Datei für ImageMagick unter Windows kenne ich noch nicht, aber unter Linux sieht das Konsolenskript ungefähr so aus (ungetestet):

    ---schnipp---
    #!/bin/bash
    for bild in *.jpg
    do
            convert "$bild" -resize 150x150 "thumb_$bild.jpg"
    done
    ---schnapp---

    Die so erstellten Thumbnails sind alle max. 150 Pixel hoch und 150 Pixel breit und sehen richtig gut aus.

    Ich hoffe ich konnte dir ein wenig weiterhelfen...

    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 Kadir,

    Die Überschrift drückt es bereits aus: ich habe keine Nerven mehr.

    Zu schade aber auch.

    Was ich brauche:

    • kein mysql

    Verwende ich auch nicht

    • bilder aus einem Ordner dynamisch auslesen

    Geht.

    • Weiter und Zürück als Navigation

    Geht.

    • Thumbs-Generierung (wenn möglich: variable Grössen)

    Geht nicht (IMHO Blödsinn).

    • etwas das funktioniert

    LOL. Wenn mein Script nicht funktionieren würde, würde ich es nicht posten.

    • einfacher Admin-Login mit File-Upload (evtl. als zip?)

    IMHO nicht nötig.

    Ich brauche ein neues Skript.
    Kann mir einer weiter helfen?

    Ich habe so ein Script:

    <?php

    this Script stands under the GPL, General Public License.

    for more Details see gpl.txt or http://www.gnu.org/licenses/gpl.txt

    function is_image($string) {
     if(strpos($string, ".jpg") or strpos($string, ".jpeg") or strpos($string, ".gif") or strpos($string, ".png")) {
      return true;
     }
     else {
      return false;
     }
    }

    function photoalbum($directory, $position) {
     # Der erste Parameter übergibt den Ordner, in dem die Bilder sind,
     # der Zweite die aktuelle Position des Users in der Galerie.

    # Die Variablen
     $bilder = array();
     $output = "\n<div>\n";

    $vorposition = $position-1;
     $nachposition = $position+1;
     # selbsterklärend ?

    $url = "./".$directory;
     # Auslesen des Bilder-Verzeichnisses

    $verz = opendir($directory);
     # der Ordner bilder wird zum lesen geöffnet

    while($file = readdir($verz)) {
      if ($file != '.' && $file != '..' && is_image($file)) {
       array_push($bilder,$file);
      }
     }
     # alle Bilder (!) im Unter-Ordner bilder werden in das array $bilder geschrieben.

    closedir($verz);
      # der Ordner $directory wird wieder geschlossen.

    if (isset($bilder[$position])) {
     # wenn es das Element des arrays $bilder mit der übergebenen Bildnummer gibt
      if (isset($bilder[$vorposition])) {
      # und es ein vorhergehendes Bild gibt
       $output .= '<a href="'.$_SERVER["PHP_SELF"].'?pos='.($position-1).'">Vorheriges Bild</a>';
      # wird ein Link auf das vorhergehende Bild ausgegeben
      }
      else {
       # andernfalls
        $output .= '<a href="'.$_SERVER["PHP_SELF"].'?pos='.(count($bilder)-1).'">Letztes Bild</a>';
       # wird ein Link auf das LETZTE Bild ausgegeben
       }
      if (isset($bilder[$nachposition])) {
      # wenn es ein weiteres Bild gibt
       $output .= '<a href="'.$_SERVER["PHP_SELF"].'?pos='.($position+1).'">N&auml;chstes Bild</a><br />
       ';
      # wird ein Link auf dieses Bild ausgegeben.
      }
      else {
       $output .= '<a href="'.$_SERVER["PHP_SELF"].'?pos=0">Erstes Bild</a><br />
       ';
      }
      # andernfalls ein Zeilenumbruch
      $output .= '<img alt="'.$bilder[$position].'" src="'.$url.'/'.$bilder[$position].'" />
      ';
     # wenn es das Element des arrays $bilder mit der übergebenen
     # Bildnummer gibt wird dieses Bild angezeigt.
     }

    else {
      $output .= '<a href="'.$_SERVER["PHP_SELF"].'">Zur Startseite</a>';
     }
     # Wenn alles falsch ist, gibts einen Link auf die Startseite.
     return $output."\n</div>\n";
    }
    ?>

    Das Script wird so eingebunden:

    <?php

    this Script stands under the GPL, General Public License.

    for more Details see gpl.txt or http://www.gnu.org/licenses/gpl.txt

    ob_start("ob_gzhandler");
    header("Content-Type: text/html");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>

    <title>PhotoAlbum</title>
    <link href="./photoalbum.css.php" rel="stylesheet" type="text/css" />

    </head>
    <body>
    <?php

    include("album.php");

    if($_GET["pos"]) {
     $position = $_GET["pos"];
    }
    else {
     $position = "0";
    }

    echo photoalbum("bilder", $position);

    der zweite Parameter gibt an, ob der Ordner lokal (false) oder auf einem anderen Server (true) ist.

    auf gar keinen Fall darf der erste Paremeter (der Ordner) mit einem Slash enden!

    ?>
    </body>
    </html>

    *verzweifeltdiefingerfress*

    Aufhören! Die brauchst du noch, um mein Script anzupassen.

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
    http://againsttcpa.com
    1. 你好 Alexander,

      • Thumbs-Generierung (wenn möglich: variable Grössen)

      Geht nicht (IMHO Blödsinn).

      Warum? Ich finde das durchaus sinnvoll, ich moechte gern unverzerrte
      Thumbnails, also solche, deren Seitenverhaeltnisse beibehalten werden.

      再见,
       CK

      --
      Die Stärke des Geistes ist unendlich, die Muskelkraft dagegen ist begrenzt.
      http://wwwtech.de/
      1. Hallo Christian,

        • Thumbs-Generierung (wenn möglich: variable Grössen)

        Geht nicht (IMHO Blödsinn).

        Warum? Ich finde das durchaus sinnvoll, ich moechte gern unverzerrte
        Thumbnails, also solche, deren Seitenverhaeltnisse beibehalten werden.

        Ich habe das nicht implementiert, weil es den Server belastet, lange dauert
        (deshalb sollte man es IMHO vorher "von Hand" machen) und ich so etwas nicht
        gebraucht habe. Es steht dir frei, mein Script nach deinen Wünschen anzupassen.

        Gruß
        Alexander Brock

        --
        SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
        http://againsttcpa.com
        1. 你好 Alexander,

          • Thumbs-Generierung (wenn möglich: variable Grössen)

          Geht nicht (IMHO Blödsinn).

          Warum? Ich finde das durchaus sinnvoll, ich moechte gern unverzerrte
          Thumbnails, also solche, deren Seitenverhaeltnisse beibehalten werden.

          Ich habe das nicht implementiert, weil es den Server belastet, lange
          dauert (deshalb sollte man es IMHO vorher "von Hand" machen) und ich so
          etwas nicht gebraucht habe. Es steht dir frei, mein Script nach deinen
          Wünschen anzupassen.

          Das sind ja gleich ganz andere Gruende, die man akzeptieren kann. Aber
          Bloedsinn ist es ganz sicher nicht, das macht durchaus schon seinen Sinn.

          再见,
           CK

          --
          Beware Evildoers for my deed is done and every little damsel in distress will be shelted!
          http://wwwtech.de/
          1. Hallo Christian,

            Das sind ja gleich ganz andere Gruende, die man akzeptieren kann. Aber
            Bloedsinn ist es ganz sicher nicht, das macht durchaus schon seinen Sinn.

            Ich finde es immer noch ungeschickt, die Thumbnails vom Server erstellen
            zu lassen aber was solls.

            Ich habe eine Funktion, die die Breite, die Höhe und die maximale Breite/Höhe
            erwartet und (als Array) die neue Breite, Höhe und den Skalier-Faktor zurückgibt:

            function thumbsize($x,$y,$max) {
             # $x und $y sind Breite/Höhe des Bildes, $max die zulässige Höhe/Breite.
             if($x<$y) {
              $scale = $max/$y;
             }
             else {
              $scale = $max/$x;
             }
             return array(round($scale*$x),round($scale*$y),$scale);
            }

            Ich habe aber keine Funktion gefunden, die ein bestehendes Bild skalieren kann.

            Gruß
            Alexander Brock

            --
            SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
            http://againsttcpa.com
      2. Hi Christian,

        vielleicht aktualisierst Du mal den Link von Deinem Testforum!

        viele Grüße

  4. Danke nochmals.

    War sehr erfreut, dass mir extra erklärt wurde, wie das grob geht.

    Und wegen der Überschrift, das ist wohl ein Beweis, dass ich ziemlich benebelt im Kopf bin. Es sollte Bildergalerie statt Gästebuch heissen, das GB hab ich längst.

    Ich werde mich als Gegenleistung in Zukunft ein wenig im Forum herumtreiben, um auch anderen helfen zu können.

    Ich geh jetzt raus, entspanne mich und schau später, dass ich das hinkriege.

    Wünsche allen noch mehr Erfolg als mir bisher!

    1. Tag Kadir.

      Es sollte Bildergalerie statt Gästebuch heissen, das GB hab ich längst.

      Positive Erfahrungen habe ich mit Gallery gemacht (PHP ohne mySQL), das so ziemlich genau die Features bieten sollte, die du haben möchtest.

      Siechfred

      --
      »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«