eifeladmin
Goto Top

Bildergallerie Skript

Hallo Community,

ich suche momentan ein Bildergallerie Skript für PHP. Ich hab mir bereits ein Skript gebaut wobei die Bilder aus einem Ordner ausgelesen werden und automatisch Thumbnails generiert werden. Die Ordner in dem Bilderordner werden als Links auf der Seite verwendet. Jetzt möchte ich Ordner für die einzelnen Jahre anlegen doch. Ich habe auch mein Skript angepasst doch leider ließt er mir alle Ordner in dem Bilderordner mit Unterordner aus obwohl er z.b. nur den Ordner 2006 machen soll. Ich kann aber auch keinen Fehler finden.
Kennt jemand ein gutes Skript was mir diese Funktion bietet oder kann mir vielleicht jemand bei meinem Skript helfen? Ich weiß langsam selber nicht mehr woran es liegen könnte.

Ich sag schon mal ein dickes DANKESCHÖN!!

Gruß

Nemo

Content-ID: 54388

Url: https://administrator.de/forum/bildergallerie-skript-54388.html

Ausgedruckt am: 10.04.2025 um 15:04 Uhr

Dani
Dani 18.03.2007 um 22:46:11 Uhr
Goto Top
G' Abend Nemo,
Ich habe auch mein Skript angepasst doch leider ließt er mir alle Ordner in dem
Bilderordner mit Unterordner aus obwohl er z.b. nur den Ordner 2006 machen soll. Ich
kann aber auch keinen Fehler finden.
Poste doch einfach dein Script. Den Fehler werden wir schon finden. *gg*


Grüße
Dani
Eifeladmin
Eifeladmin 19.03.2007 um 08:05:04 Uhr
Goto Top
<?php	
if (isset($page))
 {	
   $verzname = "pics";  
   $dh = opendir( $verzname );
   while ( gettype( $jahr = readdir( $dh ) ) != "boolean" )  
      if ($jahr !="." && $jahr !="..")  
     {
	if ($page == $jahr)
	{
	 $dh = opendir( $verzname );
	 while ( gettype( $jahr = readdir( $dh ) ) != "boolean" )  
                   {
	    if ($jahr !="." && $jahr !="..")  
 	    {
	      if ( is_dir( "$verzname" ) )  
	               {
		print "<li><a href='index.php?page=$jahr'>$jahr</a></li>";  
                                $verzam = "$verzname/$jahr";  
                                $verzjahr = opendir ( $verzam );
                                  while ( gettype( $event = readdir( $verzjahr ) ) != "boolean" )  
                                    {
	                      if ($event !="." && $event !="..")  
	                      {								                        if ( is_dir( "$verzam" ) )  
                  	             print "<li><a href='index.php?page=$event'>$event</a></li>";  
		     }
	                     }
                            closedir( $verzjahr );
                               }
									    }
									 }
 }
  }
                 closedir( $dh );
Eifeladmin
Eifeladmin 19.03.2007 um 08:05:09 Uhr
Goto Top
<?php	
if (isset($page)) //Wird überprüft ob die Variable $page gesetzt ist
 {	
   $verzname = "pics"; //Übergabe des Verzeichnis an die Variable  
   $dh = opendir( $verzname ); // Das Verzeichnis wird geöffnet
   while ( gettype( $jahr = readdir( $dh ) ) != "boolean" )   
      if ($jahr !="." && $jahr !="..")  
     {
	if ($page == $jahr) //Überprüfung ob der übergebene Link gleich einer der Ordnernamen ist
	{
	 $dh = opendir( $verzname );
	 while ( gettype( $jahr = readdir( $dh ) ) != "boolean" )  
                   {
	    if ($jahr !="." && $jahr !="..")  //Auslesen der Ordner innerhalb des Ordners "pics"  
 	    {
	      if ( is_dir( "$verzname" ) )  
	               {
		print "<li><a href='index.php?page=$jahr'>$jahr</a></li>"; //Ausgabe der Links auf der HP für die Jahreszahlen  
                                $verzam = "$verzname/$jahr";  
                                $verzjahr = opendir ( $verzam );
                                  while ( gettype( $event = readdir( $verzjahr ) ) != "boolean" )  
                                    {
	                      if ($event !="." && $event !"..") //Auslesen des Ordners für die Jahreszahlen  
	                      {								                       
                                         if ( is_dir( "$verzam" ) )  
                  	             print "<li><a href='index.php?page=$event'>$event</a></li>"; //Ausgabe der Links für die Einzelnen Events   
		     }
	                     }
                            closedir( $verzjahr ); //Schließen des Verzeichnis für das Jahr
                               }
	}
	}
}
}
closedir( $dh ); //Schließen des Verzeichnis für die Bilder 
Eifeladmin
Eifeladmin 19.03.2007 um 08:05:15 Uhr
Goto Top
Das Skript dient nur zum auslesen der Ordner. Schade das man die Einrückungen nicht sehen kann.
Eifeladmin
Eifeladmin 26.03.2007 um 21:44:30 Uhr
Goto Top
An den Admin, ein Beitrag kann gelöscht werden.
OK das nehm ich wieder zurück
Dani
Dani 26.03.2007 um 21:56:53 Uhr
Goto Top
G' Abend,
dich habe total vergessen! Sry..Könntest du bitte noch Kommentare zu deinem Code schreiben! Sonst tu ich mir ein bisschen schwerer. Könntest du noch deine Ordnerstruktur posten.


Grüße
Dani
Eifeladmin
Eifeladmin 27.03.2007 um 08:46:37 Uhr
Goto Top
Meine Ordnerverzeichnis lautet:
  1. Root
  2. Pics
    • Unterordner 2006
      • Event 1
      • Event 2
    • Unterordner 2007
      • Event 1
Dani
Dani 27.03.2007 um 21:03:56 Uhr
Goto Top
G' Abend,
oh...soweit ist alles klar! Du möchtest jetzt nur Bilder von Ordner Event 1 => 2006 anzeigen lassen?!


Grüße
Dani
Eifeladmin
Eifeladmin 27.03.2007 um 21:49:22 Uhr
Goto Top
So weit bin ich ja noch gar nicht. Zurert möchte ich das mir im Browers die Links dazu in einer art Baumstruktur angezeigt werden. Es sollen dann aber nur die, wenn ich z.B. auf 2006 klicke, die Events unterhalb des Ordner 2006 angezeigt werden. Moment liest er beim Klick auf 2006 auf die Ordner unterhalb von 2007 aus.

z.B. Klick auf 2006:
  1. 2006
      • Event 1
    • Event 2
  1. 2007

Für eine Alternative Anzeige bin ich natürlich offen.
Dani
Dani 27.03.2007 um 22:56:24 Uhr
Goto Top
Also jetzt ist alles klar. face-wink
Ich probier etwas zu entwickeln! Melde mich dann wieder! Etwas Geduld bitte...


Grüße
Dani
Dani
Dani 27.03.2007 um 23:47:01 Uhr
Goto Top
G' Abend,
hast du das Script selber geschrieben oder "kopiert"?! Also so beim überfliegen, habe ich mich gefragt, wie das überhaupt funktionieren kann!!

Hier jetzt mal ein Beispiel von mir (v0.1):
<?php    
//Übergabe des Verzeichnis an die Variable
$verzname="it";  

// Das Bilderverzeichnis wird geöffnet
$dh1=opendir($verzname);
while($dir1 = readdir($dh1))
	{
	//. und .. Dateien wird ignoriert
	if(($dir1 != ".") and ($dir1 != ".."))  
		{
		//Überprüft, ob der aktuelle Inhalt von $dir1 ein Verzeichnis ist?! FallsNEIN - ENDE
		if(is_dir($verzname."/".$dir1))  
			{
			//Gibt alle Ordner aus
			echo "<li><a href='?year=".$dir1."'>".$dir1."</a></li>";  
			
			//Trifft zu, wenn ein Jahreszahlordner angeklickt wurde
			if(isset($_GET['year']))  
				{
				//Das Jahreszahl verzechnis wird geöffnet
				$dh2=opendir($verzname."/".$dir1);  
				while($dir2 = readdir($dh2))
                   {
				    //. und .. Dateien wird ignoriert
					if(($dir2 !=".")  and ($dir2 !=".."))  
						{
						//Überprüft, ob $dir2 ein Verzeichnis ist. Checkt, ob das übergebene Verzeichnis == dem aktuellen entspricht.
						// Ja - Dann werden die dazugehörigen Unterornder (Jahre) ausgegeben
						if((is_dir($verzname."/".$dir1."/".$dir2)) and ($_GET['year'] == $dir1))  
							{
							echo "<li><a href='index.php?year=".$dir1."&galerie=".$dir2."'>".$dir2."</a></li>";  
                            }
						}
					}
				//Schließt das entsprechende Jahr
				closedir($dh2);
				}
			}
		}
	}
 //Schließen des Verzeichnis für die Bilder 
closedir($dh1);
?>
Also oben die Zeichenkette "it" ist das Root-Verzeichnis für 2006, 2007, 2008, .... Einfach austauschen. Die Pfadtiefe ist jetzt genau wie du es oben beschrieben hast.


Grüße
Dani
Eifeladmin
Eifeladmin 28.03.2007 um 07:46:48 Uhr
Goto Top
Also ich habe mir damals einige Scripte angesehen und hab mir danach dann selbst eins gebaut. Also das Script ist schon von mir nur ist das schon so lange her das ich schon zum Teil nicht mehr weis was da überhaupt gemacht wird.
Danke für deine schnelle Hilfe. Ich werde das gleich direkt mal testen.
Danach kommt das nächste Problem. Ich muss ja die Thumbnails erzeugen. Kannst du mir dabei auch noch helfen?