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-Key: 54388

Url: https://administrator.de/contentid/54388

Printed on: April 19, 2024 at 09:04 o'clock

Member: Dani
Dani Mar 18, 2007 at 21:46:11 (UTC)
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
Member: Eifeladmin
Eifeladmin Mar 19, 2007 at 07:05:04 (UTC)
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 );
Member: Eifeladmin
Eifeladmin Mar 19, 2007 at 07:05:09 (UTC)
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 
Member: Eifeladmin
Eifeladmin Mar 19, 2007 at 07:05:15 (UTC)
Goto Top
Das Skript dient nur zum auslesen der Ordner. Schade das man die Einrückungen nicht sehen kann.
Member: Eifeladmin
Eifeladmin Mar 26, 2007 at 19:44:30 (UTC)
Goto Top
An den Admin, ein Beitrag kann gelöscht werden.
OK das nehm ich wieder zurück
Member: Dani
Dani Mar 26, 2007 at 19:56:53 (UTC)
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
Member: Eifeladmin
Eifeladmin Mar 27, 2007 at 06:46:37 (UTC)
Goto Top
Meine Ordnerverzeichnis lautet:
  1. Root
  2. Pics
    • Unterordner 2006
      • Event 1
      • Event 2
    • Unterordner 2007
      • Event 1
Member: Dani
Dani Mar 27, 2007 at 19:03:56 (UTC)
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
Member: Eifeladmin
Eifeladmin Mar 27, 2007 at 19:49:22 (UTC)
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.
Member: Dani
Dani Mar 27, 2007 at 20:56:24 (UTC)
Goto Top
Also jetzt ist alles klar. face-wink
Ich probier etwas zu entwickeln! Melde mich dann wieder! Etwas Geduld bitte...


Grüße
Dani
Member: Dani
Dani Mar 27, 2007 at 21:47:01 (UTC)
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
Member: Eifeladmin
Eifeladmin Mar 28, 2007 at 05:46:48 (UTC)
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?