Bilder vergrößern in Bildergalerie

HoneyKiSs

Mitglied
Hallo zusammen,
diesmal bin ich denke ich im richtigen Forum.

Also ich hab so eine kleine Bildergalerie wie auf der Seite hier (ist nur zu Übungszwecken gedacht) http://s309448680.online.de/index.php
Die Seitennavigation funktioniert.

Aber wie kriege ich das nun hin das ich die Bilder groß angucken kann. Mit Klick aufs Bild soll ein neues Fenster auf gehen. Soll ganz simpel. Was muss ich da noch eintragen. Hab das Script von so einem Tutorial.

Für die Bilder

PHP:
<?php

$ur = $_SERVER['bilder/']; // Dateipfad

// Seitenzahl ermitteln
$go = (!empty($_GET['go'])) ? $_GET['go'] : 1;
// -> wenn keine Seitenzahl angegeben wird, dann ist es die erste Seite

// ---------------------- Konfiguration -------------------------------------------

$anzeige = 5;         		// Zahl der Grafiken die pro Seite angezeigt werden sollen  
$p = 2;   			// Anzahl der Links die auf der Seite angezeigt werden sollen
$verzeichnis = "bilder";        // 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); 		// Schließt 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";
    }
        
}


Für die Seitennavigation

PHP:
$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\">&laquo; Erste ...</a>\n";      
}      
if($go != 1){          
    $prev = $go-1;
    $links[] = "<a href=\"$url?go=$prev\" title=\"Zurueck zur letzen Seite\"> &laquo;</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\"> &raquo; </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 &raquo;</a>\n";
}      


// Alle Links in einen String packen
$link_string = implode(" &nbsp; ", $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";

?>

Ich bedanke mich schon mal ganz herzlich :)
Gruß
Doreen
 
Hi Doreen,

du machst einfach eine Verlinkung zu dem großen Bild:

PHP:
echo "<a href=\"HIER_LINK_ZUM_GROßEN_BILD\" target=\"_blank\"><img src=\"$verzeichnis/$file\" title=\"$title\"  alt=\"$title\"/></a>\n";

Das Attribute target="_blank" bewirkt, dass sich der Link in einem neuen Fenster/Tab öffnet.

Best regards
 
Hallo Tim,
vielen dank für die Info :) Ich hab das jetzt eingefügt, aber jetzt ist Sina doppelt drin, einmal mit Link und einmal ohne Link. Wenn ich auf ein Bild klicken von einem Bild kommt eine neue Seite die sagt, Error 403 Forbidden - Zugriff nicht erlaubt, das die Seite nicht angezeigt werden darf :/
Ich hab die gleichen Bilder zum TESTEN in einen neuen Ordner Namens big_bilder gemacht und den Link dann dahin gewiesen. Was ist denn noch verkehrt.

http://s309448680.online.de/index.php kann man selber gucken mal

DANKE :)
 
Sieht so aus, als hättest du jetzt zwei echo's? Das alte echo kannst du natürlich weglassen. ;) Zudem stimmt der Link an sich noch nicht ganz. Du musst natürlich auch den Bildnamen angeben (bild.jpg), nicht nur das Verzeichnis, in dem sich die Bilder befinden. :)
 
Hallo Tim,
ich verstehe nicht wie ich das mit mehreren Bilder machen soll. Ich hab im Ordner big_bilder 45 Fotos von sina, die so lauten sina01.jpg sina02.jpg sina03.jpg usw. wenn ich ein bild angebe öffnet er ja immer nur das eine Bild. Ich brauche für jedes Miniaturbild das richtige große Bild. Also sind 45 Bilder. Ich weiß nicht wie, hab selber probiert, aber geht alles nicht :( ich komme nicht drauf

DAnke schon mal
 
Hi,

PHP:
echo "<a href=\"big_bilder/$file\" target=\"_blank\"><img src=\"$verzeichnis/$file\" title=\"$title\"  alt=\"$title\"/></a>\n";

So müsste es das tun ;)

Best regards
 
Zurück