Verfasst von Alice am 25.02.2008 - wurde schon 14457 mal gelesen
Blaetterfunktion
PHP
Verzeichnis
Loading...
![]()
<?php
$ur = $_SERVER['script_name']; // Dateipfad
// Seitenzahl ermitteln
$go = (!empty($_GET['go'])) ? $_GET['go'] : 1;
// -> wenn keine Seitenzahl angegeben wird, dann ist es die erste Seite
// ---------------------- Konfiguration -------------------------------------------
$anzeige = 1; // Zahl der Grafiken die pro Seite angezeigt werden sollen
$p = 2; // Anzahl der Links die auf der Seite angezeigt werden sollen
$verzeichnis = "images"; // Verzeichnisbestimmung fuer die Bildausgabe
// ---------------------------------------------------------------------------------
$oeffnen = opendir($verzeichnis); // oeffnet das angegebene Verzeichnis
//Dateien aus Ordner auslesen
while ($file = readdir ($oeffnen)) {
// Thumbs ausschliessen
if ($file != "." && $file != ".." && $file != "Thumbs.db" && preg_match("/\./",$file)){
$array[] = $file; // Die Dateien aus dem Ordner werden in ein array gepackt
}
}
closedir($oeffnen); // Schliet den Ordner wieder
sort($array); // Sortiert das $array
foreach($array as $file) { // Hier wird das $array auseindander genommen
$dateienanzahl++;
if($dateienanzahl<=$anzeige*$go && $dateienanzahl>$anzeige*($go-1)){
// nur dass aus, was hinter dem .Punkt steht
$punkt = strrchr($file, '.');
//Dateiendung herausfiltern
$title = str_replace($punkt, '', $file);
// Grafik ausgeben
echo "<img src=\"$verzeichnis/$file\" title=\"$title\" alt=\"$title\"/>\n";
}
}
// ---------------------------------- Seitennavigation definieren ---------------------
$pages = ceil($dateienanzahl / $anzeige); // Anzahl der Seiten ermitteln
// korrigieren der aktuellen Seite
if(empty($_GET['go'])) {
$go = 1;
} elseif($_GET['go'] <= 0 || $_GET['go'] > $pages) {
$go = 1;
} else {
$go = $_GET['go'];
}
// Linkkette
$links = array();
if(($go - $p) < 1){
$prevOffset = $go - 1;
}else {
$prevOffset = $p;
}
if(($go + $p) > $pages) {
$nextOffset = $pages - $go;
}else {
$nextOffset = $p;
}
$off = ($go - $prevOffset);
if ($go- $prevOffset > 1){
$first = 1;
$links[] = "<a href=\"$url?go=$first\" title=\"Zur ersten Seite springen\">« Erste ...</a>\n";
}
if($go != 1){
$prev = $go-1;
$links[] = "<a href=\"$url?go=$prev\" title=\"Zurueck zur letzen Seite\"> «</a>\n";
}
for($i = $off; $i <= ($go + $nextOffset); $i++){
if ($i != $go){
$links[] = "<a href=\"$url?go=$i\" title=\"Seite $i anzeigen\">$i</a>\n";
}elseif($i == $pages) {
// aktuelle Seite, braucht keinen Link
$links[] = "<span class=\"current\">[ $i ]</span>\n";
}
elseif($i == $go){
// aktuelle Seite, braucht keinen Link
$links[] = "<span class=\"current\">[ $i ]</span>\n";
}
}
if($go != $pages){
$next = $go+1;
$links[] = "<a href=\"$url?go=$next\" title=\"Weiter zur naechsten Seite\"> » </a>\n";
}
if ($off+$prevOffset*2 < $pages){
// zur letzen Seite springen
$last = $pages;
$links[] = "<a href=\"$url?go=$last\" title=\"Zur letzen Seite springen\">... Letzte »</a>\n";
}
// Alle Links in einen String packen
$link_string = implode(" ", $links);
echo "<div class=\"navigation\">\n";
echo "<span class=\"pages\">Seite $go von $pages</span>\n";
echo $link_string; // Ausgabe der Seitennavigation
echo "</div>\n";
?>
Du musst angemeldet sein, um einen Kommentar zu hinterlassen...
Du bist noch kein Mitglied von Alice-Grafixx.de?
Dann kannst du dich hier kostenlos registrieren ...