Hallo zusammen, nachdem ich einen Umzug meines Webspaces vollzogen habe, habe ich ein Problem mit dem von mir verwendeten Galerie Script. Da der Entwickler keinen Support gibt (zumindest meldet er sich seit Monaten nicht auf Anfragen) und ich das Problem nicht zu lokalisieren vermag, dachte ich, ich wende mich mal an die Forenmitglieder und frage um Rat. Das Script verursacht beim Ausführen folgende Fehlermeldung:
Fatal error: Call to a member function on a non-object in /home/g/gandalf/public_html/galleries/showimg.php on line 5
Das Script selbst liegt auf http://www.gandalfthegrey.de/galleries/index.php
Der Quelltext lautet:
index.php
showimg.php
Die Verzeichniss und Dateinamen der Bilder sowie der Thumbnails sind alle KLEIN geschrieben.
Weitere Informationen über die Umgebung in der das Script läuft findet ihr unter http://gandalfthegrey.de/galleries/test.php
Vorher lief das Script unter dieser Umgebung:
http://nic-nac-project.de/~gandalf/test.php
Wenn mir jemand helfen kann wäre das echt klasse. Ich komme einfach nicht weiter.
Fatal error: Call to a member function on a non-object in /home/g/gandalf/public_html/galleries/showimg.php on line 5
Das Script selbst liegt auf http://www.gandalfthegrey.de/galleries/index.php
Der Quelltext lautet:
index.php
PHP-Code:
<?php
// $docRoot wird mit dem Wert von DOCUMENT_ROOT (zu finden in der Ausgabe der PHPInfo) zuzüglich des Galerie-Hauptverzeichnisses belegt
$docRoot = ("/home/g/gandalf/public_html/galleries");
$dirStructur = opendir($docRoot);
echo "<form action=\"index.php?op=choose\" method=\"post\"><select name=\"verzeichnis\">";
//////Anfang der Select-Box
$i = 0;
/* Array mit Verzeichnissen einlesen */
while ( $eintrag = readdir ( $dirStructur ) )
{
$dirs[$i] = $eintrag;
$i++;
}
/* Array sortieren */
sort($dirs);
/* Array durchlaufen */
foreach ($dirs as $eintrag)
{
if ( is_dir($eintrag )
&& $eintrag != "."
&& $eintrag != ".."
&& eregi("thumbs", $eintrag)
)
echo "<option value=\"$eintrag\">".substr($eintrag, 0, -6);
}
closedir($dirStructur);
echo "</select><input type=\"Submit\" value=\"Gallerie auswählen\"></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 = readdir ( $dirStructur ) )
{
$dirs[$i] = $eintrag;
$i++;
}
/* Array sortieren */
sort($dirs);
/* Array durchlaufen */
foreach ($dirs as $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();
?>
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\"><table><tr><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 Galerie</a>".
$anchorNext."nächstes Bild".$anchorNextClose."<br>";
//ende navigatione oben
echo "<img src=\"$verz/$bild\" border=\"1\"><br>";
//anfang navigation unten
echo $anchorPrev."vorheriges Bild".$anchorPrevClose.
" <a href=\"index.php?op=choose&verzeichnis=".
$verz."thumbs\">Zurück zur Galerie</a>".
$anchorNext."nächstes Bild".$anchorNextClose;
//ende navigatione unten
echo "</div><br></td></tr></table></div>";
?>
Weitere Informationen über die Umgebung in der das Script läuft findet ihr unter http://gandalfthegrey.de/galleries/test.php
Vorher lief das Script unter dieser Umgebung:
http://nic-nac-project.de/~gandalf/test.php
Wenn mir jemand helfen kann wäre das echt klasse. Ich komme einfach nicht weiter.
Kommentar