Ergebnis 1 bis 16 von 16

Thema: Bilderauswechseln per PHP?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich hoffe, du hast nichts dagegen, wenn ich meine Variante ebenfalls poste.

    Das ist der erste Abschnitt, ihn fügst du am besten im Kopf deiner Datei ein.
    PHP-Code:
    <?php

        $pfad 
    './bilder/'

        
    $verzeichnis opendir $pfad );
        
    /* opendir öffnet ein Verzeichnis. Liegt in dem Verzeichnis, in dem auch
           diese Datei liegt, das Verzeichnis 'bilder', dann passt die Angabe,
           ansonnsten musst du sie anpassen (wie du dabei vorgehst solltest du
           ja schon aus der Arbeit mit HTML Dateien kennen).
           --
           Im 'bilder' Verzeichnis sollten sich alle Bilder befinden. Sind dort
           auch andere Dateien gespeichert erkläre ich später, wie du Dateien,
           die nicht benötigt werden, herausfilterst).
        */

        
    $bilder = array();
        
    // $bilder wird die Bildnamen enthalten.

        
    $zaehler 1;
        
    // Gibt den Start des Arrayschlüssels an.

        
    while ( $datei readdir $verzeichnis ) )
        {

        
    /* So lange Dateien ausgelesen werden können
           soll der Dateiname in ein Array eingefügt werden.
           --
           Die IF Abfrage verhindert, dass das eigene Verzeichnis '.',
           sowie das Verzeichnis einen Schritt zurück '..' ebenfalls
           ausgelesen werden.
           --
           Du kannst diese Abfrage mit --OR substr ( $datei, -4 ) != '.png'--
           ohne die -- hinzufügen, dann werden nur Dateien mit der Dateiendung
           '.png' ausgelesen. Das kannst du für alle Bildformate machen, wenn
           sich im Bilderverzeichnis auch Dateien befinden, die keine Bilder sind.
           --
           substr ( $datei, -4 ) gibt die letzten vier Zeichen eines Strings aus,
           bei Dateien ist das die Dateiendung, möchtest du z.B. '.jpeg' Dateien
           auslesen änderst du entweder -4 in -5 oder lässt den Punkt bei der
           Dateiendung nach != weg.
         */

            
    if ( $datei != '.' AND $datei != '..' )
            {

                
    $bilder[$zaehler] = $datei;
                
    $zaehler++;
                
    /* $bilder[1] erhält den Namen der ersten Datei,
                   $bilder[2] erhält den Namen der zweiten Datei
                   ... */

            
    }

        }

    ?>
    Dieser Abschnitt gibt einer Variable den Wert 1, falls kein Bild ausgewählt, oder ein ungültiger Wert übergeben wurde.
    PHP-Code:
    <?php

        
    // Hier wird der Variable $_GET['bild'] automatisch ein Wert gegeben.
        // Da du beim Aufrufen dieser Datei noch keinen Wert an $_GET['bild']
        // gegeben hast wird hier erstmal der Wert 1 eingetragen.
        // Zur Sicherheit ist das auch der Fall, wenn der Wert ein unerlaubter Wert
        // sein sollte.

        
    if ( !isset ( $_GET['bild'] ) OR ( int ) $_GET['bild'] < OR ( int ) $_GET['bild'] > count $bilder ) )
        {

            
    $_GET['bild'] = 1;

        }

    ?>
    Dieser Abschnitt gibt das Bild aus, einfügen, wo gewünscht.
    PHP-Code:
    <?php

            
    echo '<img src="' $pfad $bilder[$_GET['bild']] . '" alt="" />';
            
    /* Hier wird nach der Verzeichnisangabe im src-Attribut der Dateiname
               eingetragen, der als Schlüssel, den Wert der Variable $_GET['bild'] hat. */

    ?>
    Hier der Link für das Bild zuvor und das Bild danach.
    PHP-Code:
    <?php

      
    // ZURÜCK
      
    if ( $_GET['bild'] != )
      {

          echo 
    '<a href="' $_SERVER['PHP_SELF'] . '?bild=' . ( $_GET['bild'] -) . '">zur&uuml;ck</a>';

      }

      
    // WEITER
      
    if ( $_GET['bild'] != count $bilder ) )
      {

          echo 
    '<a href="' $_SERVER['PHP_SELF'] . '?bild=' . ( $_GET['bild'] +1  ) . '">weiter</a>';

      }

    ?>
    Die ersten beiden Abschnitte müssen in dieser Reihenfolge eingefügt werden, die letzten beiden kannst du je nach Bedarf einfügen (denke aber, dass es ohne weiter kein zurück geben kann ).

    Geändert von mitaki (12.08.2004 um 15:33 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •