Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrspaltige Bilder-Gallerie

Einklappen

Neue Werbung 2019

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

  • Mehrspaltige Bilder-Gallerie

    Hallo zusamme,

    wie schaffe ich es mit folgendem Script die Bilder (die aus einem Verzeichnis ausgeladen werden) mehrspaltig anzuzeigen. So wie die Datei jetzt ist, werden leider nur alle Bilder unter einander angezeigt.

    Code:
    <table border="0" cellpadding="2" cellspacing="3"> 
    <?php 
    
    $Pfad="."; 
    
    if($Verzeichniszeiger=opendir($Pfad)) 
    { 
       while($Datei=readdir($Verzeichniszeiger)) 
       { 
          if($Datei!="." && $Datei!="..") 
          { 
             $Bilddaten=getimagesize($Datei); 
             if($Bilddaten[2]==1 || $Bilddaten[2]==2 || $Bilddaten[2]==3) 
             { 
    ?> 
     <tr> 
      <td><img height="<?php echo$Bilddaten[1]; ?>" src="<?php echo$Datei; ?>" title="<?php echo$Datei; ?>" width="<?php echo$Bilddaten[0]; ?>"></td> 
     </tr> 
     <tr> 
      <td>Dateiname: <?php echo$Datei; ?>
    Dateigröße: <?php echo filesize($Datei); ?> Bytes
    Bildgröße: <?php echo$Bilddaten[0]; ?> x <?php echo$Bilddaten[1]; ?> Pixel</td> 
     </tr> 
    <?php 
             } 
          } 
       } 
       closedir($Verzeichniszeiger); 
    }  
    
    ?> 
    </table>
    Ich weiss dass es mit col=0 und row=0 oder mit foreach gehen muss, aber ich bekomme es einfach nicht hin.


  • #2
    Das wäre wohl ein Fall für Modulo (%).

    Kommentar


    • #3
      Modulo? Das hab ichn och nie gehört.
      Kannst du mir sagen, wie ich in den obigen Script einbauen kann?

      Kommentar


      • #4
        Zitat von sus22
        Modulo? Das hab ichn och nie gehört.
        Der Modulo-Operator liefert dir den ganzzahligen Rest einer Division: http://www.php.net/manual/en/languag...arithmetic.php

        Zitat von sus22
        Kannst du mir sagen, wie ich in den obigen Script einbauen kann?
        Du baust eine Variable in dein Script ein, die bei jedem Durchlauf der while-Schleife inkrementiert (um 1 erhöht) wird. Dann kannst du bei jedem Durchlauf der Schleife mit dem Modulo-Operator überprüfen, ob die Zahl durch 2 teilbar ist und fängst gegegebenenfalls eine neue Zeile an.

        Kommentar


        • #5
          mehrspaltig anzuzeigen
          Hmmm, wie ist das denn gemeint ?
          Bis jetzt sehe ich nur eine.

          Andere Möglichkeit, den jeweiligen Ordner mittels glob() auslesen und in ein Array() packen.
          Das ganze dann z.B. mittels array_chunk() in Einzelteile zerlegen (klingt gut).
          Und diese dann ausgeben.

          http://www.cix88.de/cix_php/php_web/...he_tabelle.php

          Ist eigentlich nichts anders ....

          Kommentar


          • #6
            So ähnlich wie es CIX88 geschrieben hat, habe ich es auch ausprobiert. Ich kriege es bloß nicht ohne Fehlermeldungen in den obigen Code.
            Ist jemand so lieb und könnte mir in den obigen Code direkt die mehrspaltige Ansicht einbauen.

            Kommentar


            • #7
              Poste doch einfach deinen Code, dann verbessern wir ihn

              Kommentar


              • #8
                Wenn möglich auch Fehlermeldungen mal mit posten.
                Keiner hier ist Hellseher oder hat telepathische Fähigkeiten

                Kommentar


                • #9
                  Eregbnis zu sehen auf:
                  http://syberia.sy.funpic.de/pics/pics.php

                  Er werden weiterhin nur die Bilder untereinander angezeigt.

                  Code:
                  <table border="0" cellpadding="2" cellspacing="3"> 
                  <?php 
                  
                  $Pfad="."; 
                  
                  if($Verzeichniszeiger=opendir($Pfad)) 
                  { 
                     while($Datei=readdir($Verzeichniszeiger)) 
                     { 
                        if($Datei!="." && $Datei!="..") 
                        { 
                           $Bilddaten=getimagesize($Datei); 
                           if($Bilddaten[2]==1 || $Bilddaten[2]==2 || $Bilddaten[2]==3) 
                           { 
                    $row = 0;
                    $col = 0;
                  ?> 
                   <tr> 
                    <td><img height="<?php echo$Bilddaten[1]; ?>" src="<?php echo$Datei; ?>" title="<?php echo$Datei; ?>" width="150"></td> 
                   </tr> 
                  <?php 
                      $col ++;
                      if ($col > 3) {
                        $col = 0;
                        $row ++;
                      }
                           } 
                        } 
                     } 
                     closedir($Verzeichniszeiger); 
                  }  
                  
                  ?> 
                  </table>

                  Kommentar


                  • #10
                    Den Code schreibe ich dir zwar nicht um, aber nur ein Lösungsansatz:

                    PHP-Code:
                    <?php
                    error_reporting
                    (E_ALL);

                    $pattern '*.jpg';
                    $spalten 3;

                    $temp = array();
                    foreach ( 
                    glob$pattern ) as $file) { $temp[] = $file; }

                    $new_temp array_chunk($temp$spalten);

                    // print_r($new_temp);

                    foreach ( $new_temp as $temp2 ) {
                       foreach ( 
                    $temp2 as $v ) echo $v.' - ';
                       echo 
                    '
                    '
                    ;
                    }

                    ?>

                    Kommentar


                    • #11
                      Genial. Vielen Dank CIX88. Jetzt muss ich es nur noch hin bekommen, dass sich bei Klick ein Popup öffnet.

                      Und so siehts aus:
                      http://syberia.sy.funpic.de/pics/pics.php

                      Kommentar


                      • #12
                        Bei der Ausgabe wird ich aber dann noch bissel formatieren, was man sicher mit CSS recht gut hinbekommt.
                        Auch ist es möglich die Ausgabe zu teilen, z.B. Bilder 1 - 10, 11 - 20 etc...
                        Der Fantasie sind keine Grenzen gesetzt

                        Kommentar


                        • #13
                          So, hab nun meine ersten Versuche bezüglich Javascript gewagt.

                          Und nun öffnet sich kein Popup und ein Javascript Fehler wird ausgegeben. Diese beiden Sprachen funktionieren auch einfach nicht so, wie man es haben will.

                          Hier mal mein erarbeiteter Code:

                          Code:
                          <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
                          <html <?php echo HTML_PARAMS; ?>>
                          <head>
                          <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
                          </head>
                          <body>
                          
                          
                          <script language="JavaScript">
                          <!-- 
                          function FensterZeigen(w_1,w_2,w_3,w_4)
                             {
                             bild = w_1;
                             titel = w_2;
                             breite = w_3;
                             hoehe = w_4;
                             if(navigator.appName == "Netscape") // Navigator stellt die Grafik nur mit Rand links und oben dar. 
                                {
                                fensterhoehe = hoehe + 15;
                                fensterbreite = breite + 15;
                                }
                          
                             else
                                {
                                fensterhoehe = hoehe;
                                fensterbreite = breite;
                                }
                             bedingungen = 'toolbar=0,location=0,menubar=0,scrollbars=0,resizable=0,height='+fensterhoehe+',width='+fensterbreite;
                             fenster = open("","",bedingungen)
                             fenster.document.open(); 
                             with (fenster)
                                {
                                document.write('<html><head><title>' + titel + '</title></head>');
                                document.write('<body onblur="window.close()" leftmargin="0" topmargin="0">');
                                document.write('[img]'+ bild +'[/img]');
                                document.write('</body></html>');
                                }
                               fenster.document.close();
                             }
                          //-->
                          </script>
                          <?php 
                          error_reporting(E_ALL); 
                          
                          $pattern = '*.jpg'; 
                          $spalten = 3; 
                          
                          $temp = array(); 
                          foreach ( glob( $pattern ) as $file) { $temp[] = $file; } 
                          
                          $new_temp = array_chunk($temp, $spalten); 
                          
                          // print_r($new_temp); 
                          
                          foreach ( $new_temp as $temp2 ) { 
                          ?>
                          <a href="JavaScript:FensterZeigen('
                          <?php
                             foreach ( $temp2 as $v )
                          echo $v; 
                          ?>
                          ','Kira',512,384)">
                          <?php echo $v; ?></a>
                          <?php
                             echo '
                          '; 
                          }
                          ?>
                          
                          </body>
                          </html>

                          Kommentar


                          • #14
                            Zitat von sus22
                            Und nun öffnet sich kein Popup und ein Javascript Fehler wird ausgegeben.
                            Warum nennst du ihn uns nicht???

                            Und warum schreibst du mit JavaScript HTML Code? Verlink doch einfach auf eine PHP-Datei, der du eine Bild-Adresse oder -ID übergeben kannst?

                            Kommentar

                            Lädt...
                            X