Ankündigung

Einklappen
Keine Ankündigung bisher.

jpg datei auslesen und nächste/vorherige anzeigen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jpg datei auslesen und nächste/vorherige anzeigen

    Hallo

    Ich möchte eine Simple fotogallerie basteln. per script wird das angegebene verzeichnis ausgelesen...

    Aber:
    wie lese ich nur JPG dateien aus?

    Wenn das bild angezeigt wird möchte ich per vorheriges / nächstes bild jeweils blättern können...

    wie lese ich das nächste und vorherige bild aus?

    Null ahnung wo ich da ansetzen muss! kann mir jemand die richtung zeigen?

    Vielen Dank
    MichiS.

    Code:
    <?php
    
    // url des Verzeichnis
    $url="gallerie/Umbau";
    
    
    $verzeichnis=opendir ($url); 
    while ($bild = readdir ($verzeichnis))
    { 
    echo "<a href=\"verzeichnis.php?show=x&url=$url&bild=$bild\">$bild</a>
    ";
    }
    closedir($verzeichnis); 
    
    
    // bildanzeigen wenn show definiert
    if($show)
    {
    echo"<img src=$url/$bild>";
    }
    
    ?>


  • #2
    Die Funktion list dir erstmal alle jpg/jpeg aus und gibt Sie als Array zurück

    Code:
    function read_files($verz){
    //Einlesen des Inhalts der Dateien Files und Rueckgabe als Array
    
    if ($verz == "."){
    $datbegin = "";
    }
    else{
    $datbegin = $verz."/";
    }
    $x=0;
    $handle=opendir ($verz);
    
    while (false !== ($file = readdir ($handle))) {
    	if (preg_match('/\.(jpeg|jpg)$/',$file)){
    	/*alle dateien auf ein Array einlesen*/
    	if (!is_dir($file)){
    	$file_arr[$x] = $datbegin.$file;
    	$x++;
    	}
    	}
    }
    closedir($handle);
    return $file_arr;
    //Ende Function read_files
    }

    Peter

    Kommentar


    • #3
      Danke
      aber wie zeige ich die daten des array an?

      das script, welches ich gepostet habe gibt ja die namen der jpg an.

      Ich kapier die arrayfunktion wohl noch nicht so ganz...

      Kommentar


      • #4
        Also ich hab mir mal folgende gedanken gemacht:

        (d)eine funktion setze ich ganz oben im script ein. Somit ist das auslesen der dateien erledigt.
        jetzt kann ich wo ich will und wie oft ich will die funktion aufrufen (wie auch immer) und mir die jpg anzeigen lassen.

        ich lass mir also eine liste anzeigen, gleich als link zum jeweiligen bild. Das bild hat ja nun eine 'ID' (oder? wegen dem array?)

        wenn ich nun auf ein link klicke und mir das foto anschaue kann ich einen weiteren link definieren, indem ich die funktion aufrufe und mir aber nur die nächste id auslese??!!

        hab ich das so richtig verstanden?

        ich hab blos keine ahnung wie ich die funktion aufrufe und eine 'liste' anzeigen lasse, geschweige denn nur die nächste / vorherige id auslese...

        Bin froh um jede hilfe.

        Gruss MichiS.

        Kommentar


        • #5
          Bilder werden so ausgegeben.
          Code:
          echo '[img]Beispiel.jpg[/img]';
          Gruß JEGO

          Ein PHP Script tut, was Du schreibst, nicht was Du willst.

          Kommentar


          • #6
            Zitat von JEGO
            Bilder werden so ausgegeben.
            Code:
            echo '[img]Beispiel.jpg[/img]';
            das ist mir schon klar... aber wie komme ich in deinem Fall an Beispiel.jpg aus der Funktion mit dem Array?

            Kommentar


            • #7
              zum beispiel so:
              Code:
              # Umblätterfunktion (Tabellen-ANFANG)
              echo '<table width="'.$tabelsize.'" align="center" border="0" cellspacing="0" cellpadding="0">
                     <tr>
                       <td align="right">
              ';
              
              ################################################################################################
              echo '<span class="n2">'; 
              if($Anfangsposition > 0) {
              
              echo "[$str_firstPage]";
              $back=$Anfangsposition-$Zeilen_pro_Seite;
              if($back < 0) {
              $back = 0;
              }
              echo "<a href=\"ausgabe.php?Anfangsposition=$back\">[$str_back]</a>";
              }
              
              if($gesamt>$Zeilen_pro_Seite) 
              {
                $Seiten = intval($gesamt/$Zeilen_pro_Seite);
                if($gesamt%$Zeilen_pro_Seite) 
                {
                  $Seiten++;
                }
              }
              
              
              
              
              
              # Aktuelle Seite ermitteln (0 ausschließen)
              if($Anfangsposition!=0)
              $aktuell_seite = floor($Anfangsposition / $Zeilen_pro_Seite)+1;
              
              # Abstand zu "zurück"
              echo "";
              
              for ($i=1; $i<=$Seiten; $i++) 
              {
                # die 3 Seiten  vor und hinter der aktuellen Seite anzeigen
                if($i == $aktuell_seite || $i == ($aktuell_seite+1) || $i == ($aktuell_seite+2) || $i == ($aktuell_seite+3) ||  $i == ($aktuell_seite-3) ||
                   $i == ($aktuell_seite-2) || $i == ($aktuell_seite-1) || $i == $aktuell_seite)
                {
                  $fwd = ($i-1)*$Zeilen_pro_Seite;
              	# Wenn Seitenzahl ungleich "aktuelle Seite", dann ...
              	if($i!=$aktuell_seite)
                  {echo "<a href=\"ausgabe.php?Anfangsposition=$fwd&kat=".$_REQUEST["kat"]."&mode=".$_REQUEST["mode"]."\"> $i </a>";}
              	else{echo "[<a class=\"n2\" href=\"ausgabe.php?Anfangsposition=$fwd&kat=".$_REQUEST["kat"]."&mode=".$_REQUEST["mode"]."\"> $i </a>]";}
                }
              }
              
              # Abstand zu "weiter"
              echo "";
              
              
              
              
              
              
              if($Anfangsposition < $gesamt-$Zeilen_pro_Seite) {
              $fwd=$Anfangsposition+$Zeilen_pro_Seite;
              echo "<a href=\"ausgabe.php?Anfangsposition=$fwd\">[$str_go]</a>";
              $fwd=$gesamt-$Zeilen_pro_Seite;
              echo "<a href=\"ausgabe.php?Anfangsposition=$fwd\">[$str_lastPage]</a>";
              
              }
              echo "</span>";
              ######################################################################################
              	
              	
              # Tabellen-ENDE
              echo '</td>
                  </tr>
                </table>
              ';
              #################### Ende der Tabelle für Umblätterfunktion ##########################
              ist nur eine möglichkeit gibt sicher bessere.
              Gruß JEGO

              Ein PHP Script tut, was Du schreibst, nicht was Du willst.

              Kommentar


              • #8
                @ Jego
                Danke für das Script, im moment überfordert es mich aber noch etwas. Ich verstehe noch nicht was hier was bewirkt... werde aber sicher darauf zurückgreifen.


                Mein Problem ist ja, dass ich nichts aus der funktion rauskriege.

                hab mal im Forum rumgestöbert und das script ergänzt (unterer teil)
                nun kommt endlich auch mal was raus *verzweifel*

                aber jeweils nur ein bild, welches mit der eingegebenen zahl korrespondiert.

                1. Wie bringe ich es hin, dass mir alle jpgs ausgelesen werden?
                ich kann ja nicht tausendmal echo $bild[xy] schreiben...


                Hier mein krampfhaftes zwischenresultat:


                Code:
                <?php
                
                function read_files($verz){ 
                //Einlesen des Inhalts der Dateien Files und Rueckgabe als Array 
                
                if ($verz == "."){ 
                $datbegin = ""; 
                } 
                else{ 
                $datbegin = $verz."/"; 
                } 
                $x=0; 
                $handle=opendir ($verz); 
                
                while (false !== ($file = readdir ($handle))) { 
                   if (preg_match('/\.(jpeg|jpg)$/',$file)){ 
                   /*alle dateien auf ein Array einlesen*/ 
                   if (!is_dir($file)){ 
                   $file_arr[$x] = $datbegin.$file; 
                   $x++; 
                   } 
                   } 
                } 
                closedir($handle); 
                return $file_arr; 
                //Ende Function read_files 
                } 
                
                
                $verz = "gallerie/Umbau";
                $bild = read_files($verz);
                echo"$bild[0]";
                
                
                ?>

                Kommentar

                Lädt...
                X