• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bildergalerie

ChrillePan

Mitglied
Hey Leute :)
Da Ich nur Ahnung von HTML und CSS habe, aber kaum welche mit PHP, brauche Ich einen Code, mit dem Ich Bilder anzeigen, und weiterschalten kann!

Meine Vorstellungen:

Das Hauptbild wird groß, zentriert und mittig angezeigt,
unter diesen Bild gibt es zwei kleine Bilder die Anzeigen "Nächstes Bild" und "Vorheriges Bild".
Dabei sollen die Bilder benutzt werden und eventuell ein wenig Text darunter eingereiht werden, was aber kein Problem darstellt. Ganz wenig PHP kann ich ^^
Da Ich aber Befehle wir "Datei holen", "Nächste Datei" usw. nicht kenne und auch nicht weiß wie Ich sie anwende, bitte Ich euch darum.
Sehr angenehm wäre es, wenn die Anzahl der Bilder nicht relevant ist. So das beim letzten Bild das nächste Bild dann wieder Bild Nr.1 ist usw.

Grtz Chrille
 
Einfachste Form:

PHP:
<?php
    $files = glob("./*.jpg");
    
    sort($files);
    
    if (isset($_GET['pic']))
      $pic = $_GET['pic'];
    else
      $pic = 0;
      
    if ($pic > count($files))
      $pic = 0;
      
    $next = $pic + 1;
    $prev = $pic - 1;
    
    if ($next == count($files)) $next = 0;
    
    if ($prev < 0) $prev = count($files) - 1;
    
    echo "<img src='" . $files[$pic] . "' alt=''><br />
            <a href='" . $_SERVER['SCRIP_NAME'] . "?pic=$prev'>Zur&uuml;ck</a> 
            <a href='" . $_SERVER['SCRIP_NAME'] . "?pic=$next'>Vor</a>";

?>
 
Und noch kürzer (getestet):

PHP:
<?php
    $files = glob("./*.jpg");    
    sort($files);    

    $cnt = count($files); 
    $pic = isset($_GET['pic']) ? $_GET['pic'] : 0;
    $pic = ($pic == $cnt-1) || ($pic < 0) ? 0 : $pic;      
    $next = ($pic == $cnt-1) ? 0 : $pic + 1;
    $prev = ($pic == 0) ? $cnt - 1 : $pic - 1;
    
    echo "<img src='" . $files[$pic] . "' alt='' /><br />
            <a href='" . $_SERVER['SCRIPT_NAME'] . "?pic=$prev'>Zur&uuml;ck</a> 
            <a href='" . $_SERVER['SCRIPT_NAME'] . "?pic=$next'>Vor</a>";
?>

Bei einem einfachem If-Else hab ich immer den inneren Zwang dieses durch den ternären Operator zu ersetzen. :mrgreen:
 
Das sieht ja schon mal sehr geil aus :D
Nur habe Ich das Problem, die Bilder liegen nicht im selben Ordner, sondern unter "website/bilder" und die Galerie unter "website/galerien".

Wo setze Ich den Verweis hin?

Grtz Chrille
 
Du solltest dringend mehr Eigeninitiative, Kreativität und Einfallsreichtum an den Tag legen. Du weißt deine Bilder enden hoffentlich auf .jpg. Wo im Quellcode mag wohl ".jpg" vorkommen?
 
"$files = glob("./*.jpg"); "

Das der Part wichtig ist, ist mir bewusst, nur weiß Ich nicht ob Ich einfach per PHP dort dann den Pfad angeben kann, wo jetzt gerade "glob" steht.

Dennoch danke

EDIT:

Genau so wie Ich es mir dachte!
Gebe Ich

"$files = 'bilder/verzeichnis/("./*.jpg")';" an,
Geschieht nämlich nicht mehr als das ein Fehler passiert!

Außerdem: Würde Ich die Antwort auf meine Fragen bereits Wissen, würde Ich nicht hier fragen. Ich finde es ganz schön frech von mir zu behaupten Ich sei nicht kreativ, ohne Eigeninitiative und Einfallsreichtum.

Da Ich mich so gut wie Null in PHP auskenne, fällt es mir schon schwer Dinge zu schreiben, die für euch selbstverständlich sind!
 
Zuletzt bearbeitet:
Danke, nur wusste Ich nicht, wo Ich so was in der Art finde :) Das bringt mich weiter !

Grtz Chrille

EDIT:

Wunderbar, jetzt habe ich dank der Hilfe von bdt600!

"$files = glob("../verzeichnis/bilder/*.jpg");"

So einfach kann das sein xD
 
Zuletzt bearbeitet:
Zurück
Oben