Hi,
habe ein total einfaches und gutes Gallerie Script gefunden. Nun habe ich aber folgendes Problem:
das ist die index.php, sie liegt im Verzeichnis galleries
und hier die showimg.php, sie liegt im selben Verzeichnis
Mein Problem ist nun das ich die index.php in meine Startseite include.
Dann ist natürlich das Problem, daß sich die Verzeichnisstruktur ändert. kann man die irgendwie anpassen?
Die Dateien lesen die Bilder aus den einzelnen Bildordnern aus. Wenn ich die Index.php in meine Startseite include muß ich natürlich auch noch die ganzen Pfade anpassen, hab aber absolut keine Ahnung wie ich das machen soll.
Sorry für ganzen Quellcode.
habe ein total einfaches und gutes Gallerie Script gefunden. Nun habe ich aber folgendes Problem:
das ist die index.php, sie liegt im Verzeichnis galleries
PHP-Code:
<?
/*
$docRoot wird mit dem Wert von DOCUMENT_ROOT
(zu finden in der Ausgabe der PHPInfo) zuzüglich des Galerie-Hauptverzeichnisses belegt
*/
$docRoot="myServer/wwwdocs/galleries";
$dirStructur=opendir($docRoot);
$eintrag=readdir($dirStructur);
//////die Select-Box wird erzeugt
echo "<form action=\"index.php?op=choose\" method=\"post\">";
echo "<select name=\"verzeichnis\">";
while($eintrag){
if(is_dir($eintrag)&& $eintrag !== "."
&& $eintrag !== ".."
&& eregi("thumbs", $eintrag))
echo "<option value=\"$eintrag\">"
.substr($eintrag,0,-6);
$eintrag=readdir($dirStructur);
}
closedir($dirStructur);
echo "</select>";
echo "<input type=\"Submit\" value=\"Galerie auswählen\">";
echo "</form>";
//////Ende der Select-Box
/*
mit der folgenden Bedingung wird geprüft, ob die Seite
erstmalig aufgerufen wird, damit sofort eine
Thumbnailvorschau gezeigt wird
*/
if(!isset($op)){
$dirStructur=opendir($docRoot);
$eintrag=readdir($dirStructur);
while($eintrag){
if(is_dir($eintrag) && $eintrag !== "."
&& $eintrag !== ".."
&& eregi("thumbs", $eintrag)){
$verzeichnis=$eintrag;
break;
}else{
$eintrag=readdir($dirStructur);
}
}
closedir($dirStructur);
}
///////Ende dieser Abfrage
/*
Die folgende Ausgabe erzeugt den Galerie-Titel
(=Verzeichnisname des Thumbnailverzeichnisses ohne "thumbs")
*/
echo "<font face=\"VERDANA,ARIAL,HELVETICA\"><b>".
substr($verzeichnis,0,-6)."</b></font><br>".
"<font size=\"-2\" face=\"VERDANA,ARIAL,HELVETICA\">".
"Zum Vergrößern auf das Bild klicken</font><br><br>";
//////Jetzt wird die Tabelle mit den Thumbnails aufgebaut
$count = 1;
$index=0;
$dirstring = $verzeichnis."/";
$mydir = dir($verzeichnis);
echo "<table border=0 cellpadding=0 cellspacing=10 ".
"style=border-collapse: collapse bordercolor=#111111 ".
"width=100%>";
while(($file = $mydir->read()) != false) {
if ($file != "." && $file != "..") {
if ($count == 1) {
$endRow="</tr>";
$fstring = substr("$file", 0, -4);
$display = "$dirstring" . "$file";
echo "<tr><td width=33% align=center>".
"<a href=\"./showImg.php?verz=".
substr($verzeichnis,0,-6)."&bild=".
substr($file,3)."&index=$index\">".
"<IMG border=\"1\" src=\"$display\"></a>".
"<font face=\"VERDANA,ARIAL,HELVETICA\"".
"size=\"- 2\"><br>"
.substr($fstring,3)."</font></TD>";
$count++;
$index++;
}
elseif ($count == 2) {
$fstring = substr("$file", 0, -4);
$display = "$dirstring" . "$file";
echo "<td width=33% align=center><a
href=\"./showImg.php?verz="
.substr($verzeichnis,0,-6)."&bild="
.substr($file,3)."&index=$index\">
<IMG border=\"1\" src=\"$display\"></a>
<font face=\"VERDANA,ARIAL,HELVETICA\"
size=\"- 2\"><br>"
.substr($fstring,3)."</font></TD>";
$count++;
$index++;
}
elseif ($count == 3) {
$endRow="";
$fstring = substr("$file", 0, -4);
$display = "$dirstring" . "$file";
echo "<td width=33% align=center><a ".
"href=\"./showImg.php?verz=".
substr($verzeichnis,0,-6)."&bild=".
substr($file,3)."&index=$index\">".
"<IMG border=\"1\" src=\"$display\"></a>".
"<font face=\"VERDANA,ARIAL,HELVETICA\"".
"size=\"- 2\"><br>".
substr($fstring,3)."</font></TD></tr>";
$count = 1;
$index++;
}
}
}
echo "$endRow</table>";
$mydir->close();
?>
und hier die showimg.php, sie liegt im selben Verzeichnis
PHP-Code:
<?
//die Dateinamen der Bilder werden in ein Array eingelesen
$galArray=array();
$mydir = dir($verz);
while(($file = $mydir->read()) != false) {
if ($file != "." && $file != "..") {
$galArray[]=$file;
}
}
$mydir->close();
// die Verweise für nächstes und vorheriges Bild werden erzeugt
$nextPic=$index+1;
$prevPic=$index-1;
$noPics= count($galArray);
if($nextPic >= $noPics){
$anchorNext="";
$anchorNextClose="";
}else{
$anchorNext="<a href=\"showImg.php?verz=".$verz."&index=".$nextPic."&bild=".$galArray[$nextPic]."\">";
$anchorNextClose="</a>";
}
if($prevPic < 0){
$anchorPrev="";
$anchorPrevClose="";
}else{
$anchorPrev="<a href=\"showImg.php?verz=".$verz."&index=".$prevPic."&bild=".$galArray[$prevPic]."\">";
$anchorPrevClose="</a>";
}
//Bild mit Navigationselementen wird angezeigt
echo "<div align=\"center\">";
echo "<table>";
echo "<tr>";
echo "<td><div align=\"center\">";
//die navigation wird 2x gezeigt, nämlich über und unter dem bild
//will man sie nur einmal haben, muss eine der beiden navigationen auskommentiert werden
//anfang navigation oben
//echo $anchorPrev."vorheriges Bild".$anchorPrevClose." <a href=\"index.php?op=choose&verzeichnis=".$verz."thumbs\">Zurück zur Gallerie</a> ".$anchorNext."nächstes Bild".$anchorNextClose."<br>";
//ende navigatione oben
echo "<img src=\"$verz/$bild\" border=\"1\"><br>"; //das bild
//anfang navigation unten
echo $anchorPrev."vorheriges Bild".$anchorPrevClose." <a href=\"index.php?op=choose&verzeichnis=".$verz."thumbs\">Zurück zur Gallerie</a> ".$anchorNext."nächstes Bild".$anchorNextClose;
//ende navigatione unten
echo "</div>";
echo "<br></td>";
echo "</tr>";
echo "</table>";
echo "</div>";
?>
Dann ist natürlich das Problem, daß sich die Verzeichnisstruktur ändert. kann man die irgendwie anpassen?
Die Dateien lesen die Bilder aus den einzelnen Bildordnern aus. Wenn ich die Index.php in meine Startseite include muß ich natürlich auch noch die ganzen Pfade anpassen, hab aber absolut keine Ahnung wie ich das machen soll.
Sorry für ganzen Quellcode.
Kommentar