Gallerie Blätterfunktion

paini2008

Gesperrt
Halllo,
ums kurz zu machen ich will in folgende Gallerie eine Blättterfunktion einbauen weiß aber nicht wie :confused: könnt ihr mir vllt helfen :) würde mich riesig freuen
also hier mal das SCript:

index.php
PHP:
<html>
<title>Gallerie</title>
<body bgcolor="#6cb027" oncontextmenu="return false">
<?php
echo "<div align =\"center\">";
include "titel.php";
echo "<h1>$titel</h1>";
$dir='images/';
$thumb='thumb/';

$open=dir($dir);
$img=array();
while(false!==($entry= $open->read()))if(strlen($entry)>2)$x4[]=$entry;
$open->close();

sort($img);

echo '<table border="1">'."\r\n";

for($i1=0;$i1<count($x4);$i1+=3){
echo '<tr>'."\r\n";
for($i3=0;$i3<3;$i3++){
echo '<td>';


if($x4[$i1+$i2+$i3]){
echo "<a href=\"bild.php?link=".$dir."/".$x4[$i1+$i2+$i3]."\"><div align=\"center\"><img border=0 src=\"".$thumb."/".$x4[$i1+$i2+$i3]."\"></div></a>";
echo "<div align=\"center\">";
echo $x4[$i1+$i2+$i3];
echo "</div>";
} else {
echo '&nbsp;';
;
}

echo '</td>'."\r\n";
}
echo '</tr>'."\r\n";
}

echo '</table>'."\r\n";
echo "</div>";
?>
</body>
</html>

bild.php
PHP:
<html>
<title>Gallerie</title>
<body bgcolor="#6cb027" oncontextmenu="return false">
<?php
echo "<div align =\"center\">";
echo "<img alt =\"\"src=\"".$_GET["link"]."\">";
echo "<br>";
echo "<a href=\"javascript:history.back()\">Zur&uuml;ck zur &uuml;bersicht </a>";
echo $x4[$i1+$i2+$i3];
echo "</div>";
?>
</body>
</html>

LG Nico
 
Hi,

hast du schon mal die Suchmaschine deines Vertrauens mit den Suchbegriffen "Blätterfunktion PHP" bzw. "Bildergalerie mit Blätterfunktion PHP" gefüttert?

:google: bringt es da immerhin auf 20.500 bzw. 1.900 Treffer.

Die Suchfunktion hier im PHP-Forum kann zwar quantitativ nicht mithalten, kommt aber mit "Blätterfunktion" immerhin auf 285 gefundene Themen, die sicherlich den einen oder anderen Tipp und Codeschnipsel bereithalten.

Ein Tutorial von Gumbo zur Paginierung findet sich zudem in unserer PHP-Tutorials-Ecke: Blätterfunktion, sowie von Dennis der PHP-Codeschnipsel Flexible Gallerie mit Blaetterfunktion.

mfg Maik
 
ja da hab ich auch schon gesucht aber ich kapiere nicht wie ich das an meinen script anpassses soll :confused: kann mir das nicht einer erklären oder machen?

das würde mich nämlich riesig freuen!

LG Nico
 
Zuletzt bearbeitet:
im Prinzip versteh ich es ja nur das umsetzen ist das problem könnt ihr mich nicht ein besipiel geben wo ich es guzt verstehen kann oder es mir doch nicht machen ?

also im prinzip geht es so :
zählen wieviele Bilder vorhanden sind und das Bild wird mit dem link "nächstes Bild" um 1 erhöht stimmt doch oder`?

aber wie setzte ich das um?

EDIT:

ich hab jetzt mal was versucht aber das funktioniert nicht könnte mir jemand das ändern das es funktionier?

hier mal das Script:
PHP:
<?php
   {
    $subdir = "images/" ; 
    $i = 0 ; 
    $dir = opendir($subdir); 
    while ($file = readdir($dir)) 
     { 
        $imagechecker = @getimagesize($subdir. "/" .$file); 
        if ($imagechecker[2] == 1 OR $imagechecker[2] == 2) 
        { 
          $images[$i] = $file; 
          if ($file == $image) 
          { 
              $imagehtml = "<img border=4 alt =\"\"src=\"".$_GET["link"]."\">"; 
              $aktuell = count($images); 

                echo $imagehtml. "<br>"; 
                echo "<span class='text'>Bild " .$aktuell. " von " .$von. "</span>"; 

           $count = $i; 
          } 
          $i++; 
   } 
      } 
        echo "<table border='0' width='100%' align='center'><tr><td align='center' width='33%'>"; 
        if ($count > 0) 
        { 
          $output .= "<a href='" .$PHP_SELF. "?image=" .$images[0].'> << Erstes</a>"; 
          $output .= "<a href='" .$PHP_SELF. "?image=" .$images[$count-1].'> < Zurück </a>"; 
        } 
        else {$output .= "&nbsp;";} 
        $output .= "</td><td align='center'>"; 
        $output .= "<a href='index.php'>Back</a>"; 
        $output .= "</td><td align='center' width='33%'>"; 
        if ($count < count($images)-1) 
        { 
          $output .= "<a href='" .$PHP_SELF. "?image=" .$images[$count+1].> Vorwärts > </a>"; 
          $output .= "<a href='" .$PHP_SELF. "?image=" .$images[$von-1].> Letztes >> </a>"; 
        } 
        else {$output .= "&nbsp;";} 
        $output .= "</td></tr></table>"; 
     return $output; 
    } 
?>

LG Nico
 
Wenn du etwas geduld hast, kannst du meinen Code haben wenn er fertig ist.
Ich brauche sowas nämlich auch die Tage.
 
Im Anhang findest du eine kleine, ohne besondere Funktionen ausgestatte, Gallerie mit Blätterfunktion.
Funktionieren tut das Script bei mir einwandfrei. Und ausreichend Kommentiert ist das auch denke ich.

Die beigefügte HTML Datei zur Ausgabe der Gallerie musst du natürlich noch mit deinem eigenen Style versehen. Unformatiert sieht das ganze so aus:
gallerie.png

Viel Glück damit :)

//edit:
Diese Zeile:
PHP:
$currentPictures[] = $pictureNames[$p][0];
muss geändert werden, sonst fehlt ein Bild (das erste am Anfang)
Ändern in:
PHP:
$currentPictures[] = $pictureNames[$p - 1][0];

//edit2:
Das letzte Bild fehlt auch, diese Zeile:
PHP:
$pictureLast = $itemCount - 1;
ändern in:
PHP:
$pictureLast = $itemCount;

Nun passt es aber :)
 

Anhänge

Zuletzt bearbeitet:
ich hab ein Problem ich versuche jetzt seit fast 3 Stunden die Blätterfunktion von dir (Loomes) an meine Galerie anzupassen jedoch vergebens es klappt einfach nicht könntest du dich nichterbarmen und mir das an meinn SCript anpasssen das würde mich riesig freuen!
dann bin ich dir auch noch was schuldig!

LG Nico

hier nochmal mein Script

index.php
PHP:
<html>
<title>Gallerie</title>
<body bgcolor="#6cb027" oncontextmenu="return false">
<?php
echo "<div align =\"center\">";
include "titel.php";
echo "<h1>$titel</h1>";
$dir='images/';
$thumb='thumb/';

$open=dir($dir);
$img=array();
while(false!==($entry= $open->read()))if(strlen($entry)>2)$x4[]=$entry;
$open->close();

sort($img);

echo '<table border="1">'."\r\n";

for($i1=0;$i1<count($x4);$i1+=3){
echo '<tr>'."\r\n";
for($i3=0;$i3<3;$i3++){
echo '<td>';


if($x4[$i1+$i2+$i3]){
echo "<a href=\"bild.php?link=".$dir."/".$x4[$i1+$i2+$i3]."\"><div align=\"center\"><img border=0 src=\"".$thumb."/".$x4[$i1+$i2+$i3]."\"></div></a>";
echo "<div align=\"center\">";
echo $x4[$i1+$i2+$i3];
echo "</div>";
} else {
echo '&nbsp;';
;
}

echo '</td>'."\r\n";
}
echo '</tr>'."\r\n";
}

echo '</table>'."\r\n";
echo "</div>";
?>
</body>
</html>

bild.php
PHP:
<html>
<title>Gallerie</title>
<body bgcolor="#6cb027" oncontextmenu="return false">
<?php
echo "<div align =\"center\">";
echo "<img alt =\"\"src=\"".$_GET["link"]."\">";
echo "<br>";
echo "<a href=\"javascript:history.back()\">Zur&uuml;ck zur &uuml;bersicht </a>";
echo $x4[$i1+$i2+$i3];
echo "</div>";
?>
</body>
</html>
 
Wieso machst du es dir selbst so schwer? Nimm doch mein Script, ändere in der ausgabe.tpl die HTML Tags, sodass die Seite in dein Design passt.

Das einzige was bei mir fehlt ist eine bild.php (wie bei dir) in der das grosse Bild dann angezeigt wird, und selbst das sind vielleicht 10 Zeile Code um das zu realisieren. D.h. deine bild.php könntest du fast eins zu eins übernehmen.
 
Sorry aber ich verstehe dein SCript irgendwie nicht kannst du es mir bitte nicht machen?

ich würde es ja mir gerne selbst machen aber ich verstehe es leider wieklich nicht

bitte!

und ein riesen Dankeschön wenn du es machst!

LG Nico
 
An dem Script musst du überhaupt nichts machen. Du musst lediglich die Konstanten am Anfang ausfüllen:
PHP:
    define( 'PICTURE_FOLDER', './picture/' ); // Bilderordner, wichtig: in dem Ordner darf es keinen anderen Ordner geben!
    define( 'THUMBNAIL_FOLDER', './tb/' ); // Ordner mit Vorschaubildern
    define( 'PICS_PER_PAGE', 25 ); // Anzahl der Bilder pro Seite
    define( 'PICS_PER_COL', 5 ); // Anzahl der Spalten
    define( 'QUERY_NAME', 'page' ); // Name für die URL (zum Beispiel 'page' => ?page=1)
Ich habe sogar extra hintendran, als Kommentar, geschrieben für was jede einzelne Konstante da ist.
Teste einfach mal das Script, schau dir dann den generierten HTML Markup im Browser an, dann weist du ja was welcher Tag macht.
 
Zurück