Naja ich krieg keinen Fehler bei mir da kann ich das schlecht ändern damit es passt..?
thepics lite standalone gallery anpassen
-
-
den bei zeile 207 bekommst du nicht? woran kann das liegen das ich den bekomme?
-
Ne bekomm ich nicht. Hast du den vorher auch gesehen, wenn du das Script im gleichen Ordner wie die Bilder hast laufen lassen?
-
ja. woran kann das liegen?
hab grad noch mal geguckt wie es auf einem anderen server aussieht. kommt die selbe meldung. "Warning: Division by zero in /kunden/verzeichniss/webseiten/galerie/gallery.php on line 207" -
Keine Ahnung. Das Skript ist eh komisch.
Du hast ja gesagt, dass der Fehler nicht kommt, wenn mehrere Seiten da sind. Als Schnell-Lösung habe ich jetzt eingefügt, dass wenn [anzahlBilderProSeite] kleiner ist als [anzahlBilderÜberhaupt], dass dann [anzahlBilderProSeite] halbiert wird, damit es weitere Seiten gibt und der Fehler nicht mehr kommt. Und, dass wen ?page nicht gesetzt ist, dass es automatisch 1 wird.Klappt das so?
PHP
Alles anzeigen<?php /* THEPICS lite - a picture gallery generator Copyright (C) 2001-2003 Website: http://d0x.codesociety.com/ Email: d0x@codesociety.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /************ THEPICS lite CONFIGURATION ************/ $pathToImagesDir = "images/"; // Name of your gallery $subject = "Gallery"; // Short description of your gallery. $description = "Übersicht"; // How many images to output per row $imagesPerRow = 4; // How many images to output per page $imagesPerPage = 5; // Gallery sort order [ alpha | date ] $sort = "alpha"; // Height of each thumbnail $thumbHeight = 50; // Width of each thumbnail. NOTE: Width takes precedence $thumbWidth = 50; if (!$_GET['page']) $_GET['page'] = 1; // Debugging $showdebug = "0"; //Set to "1" to show the page generation time error_reporting(E_ALL); //Uncomment this to show all warnings and errors. //phpinfo(); //Uncomment this to display PHP info. /************ END THEPICS lite CONFIGURATION ************/ $mtime = explode(" ", microtime()); //debug timer $starttime = $mtime[1] + $mtime[0]; //Styles echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <title>Depo-Fit-Entspannung</title> <link rel='stylesheet' type='text/css' media='screen, projection' href='../stylesheet.css'> <link rel='shortcut icon' href='../favicon.ico> <style type='text/css'> </head> <div id='galerie'><body> <div align='center'><FIELDSET style='width: 680px'><LEGEND><STRONG>$subject</STRONG></LEGEND>"; //Code if (isset($_GET['pic'])) { $picsdir = $pathToImagesDir; $dir = opendir($picsdir); while ($dirdata = readdir($dir)) { if (eregi("\.jpg", $dirdata)) { $main[] = $dirdata; $picdates[] = filemtime($dirdata); } } closedir($dir); if($sort == "date") { arsort($picdates, SORT_NUMERIC); } else { natcasesort($main); //Sort pictures alphabetically } $pickey = ($sort == "date") ? array_keys($picdates) : array_keys($main); $curPic = array_search($_GET['pic'], $main); $nextkey = $pickey[0]; while ($nextkey != $curPic) { $nextkey = next($pickey); } $nextkey = next($pickey); $page_next = ($pickey[$curPic] != count($main)-1) ? " <A href='gallery.php?pic={$main[$nextkey]}' title='nächstes Foto'><IMG src='grafik/showfoto_next.gif' border='0'></A>" : ""; prev($pickey); $prevkey = prev($pickey); $page_prev = ($curPic != $pickey[0]) ? "<A href='gallery.php?pic={$main[$prevkey]}' title='vorheriges Foto'><IMG src='grafik/showfoto_prev.gif' border='0'></A> " : ""; // Make sure the file exists if (file_exists($picsdir.$_GET['pic'])) { $desc = stripslashes(preg_replace("/.jpg/", "", $_GET['pic'])); echo "<TABLE id='Table_Fotoalbum_ShowFoto_Nav' width='640' align='center' border='0'> <TR> <TD align='center'><FONT size='3'>[ <A href='gallery.php'>$description</A> ]</FONT></TD> <TD align='right' width='200'><FONT size='2'>{$page_prev}{$page_next}</FONT></TD> </TR> </TABLE> <IMG src=\"{$picsdir}{$_GET['pic']}\" border=\"1\" alt=\"$desc\" width=\"600\" />"; } } else { $rootdir = $pathToImagesDir; $picsdir = $rootdir; $thumbsdir = $rootdir . 'thumbs/'; $thumbpicssitedir = 'thumbs/'; $numberofmainpics = 0; $dir = opendir($picsdir); while ($dirdata = readdir($dir)) { if (eregi("\.jpg", $dirdata)) { $main[] = $dirdata; $picdates[] = filemtime($dirdata); $numberofmainpics++; } } closedir($dir); $actionlistfile = $main; //temp variables $numberofactionpics = $numberofmainpics; // Get mainthumblistfile $numberofmainpics = 0; if (file_exists($thumbsdir)) { $dir = opendir($thumbsdir); while ($dirdata = readdir($dir)) { if (eregi("\.jpg", $dirdata)) { $mainthumbs[] = $dirdata; } } closedir($dir); } else { if (!@mkdir($thumbsdir, 0777)) { echo "Error: Did you CHMOD the installation directory to 777 ?<BR />"; } } $counter = 0; $createdhowmanymain = 0; $createdhowmanyaction = 0; foreach($main as $mainpic) { if (!@in_array($mainpic, $mainthumbs)) { $createmainthumbs[$counter] = $mainpic; $createdhowmanymain++; $counter++; } } // Find out if we need to create thumbnails or not if ($createdhowmanymain > 0) { foreach($createmainthumbs as $createmain) { makethumb($picsdir . $createmain, $thumbsdir . $createmain, $thumbWidth, $thumbHeight); } } if ($description != "") { $showDescription = "<FONT size='3'><STRONG>$description</STRONG> ( <FONT color='#800000'>$numberofactionpics</FONT> Fotos )</FONT><BR /><BR />"; } // The follow lines control the Gallery Header. echo "$showDescription <FONT size='16'></FONT>"; if ($numofactionpics < $imagesPerPage) $imagesPerPage = (round($imagesPerPage/2)); // Set inital row and column counts to 1 $actionrow = 1; $actioncol = 0; if($sort == "date") { arsort($picdates, SORT_NUMERIC); } else { natcasesort($actionlistfile); //Sort pictures alphabetically } $pickey = ($sort == "date") ? array_keys($picdates) : array_keys($actionlistfile); echo '<TABLE>'; $multiPage = ""; $totalpages = ceil($numberofactionpics / $imagesPerPage); $_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 0; if ($totalpages > 1) { if (($numberofactionpics - $_GET['page']) <= $imagesPerPage) { // no next page $page_next = "<IMG src='grafik/showfoto_next.gif' border='0'>"; } else { $nextpage = $_GET['page'] + $imagesPerPage; $page_next = "<A href='gallery.php?page={$nextpage}' title='nächste Seite'><IMG src='grafik/showfoto_next.gif' border='0'></A>"; } $thepages = ""; for($temp = 0; $temp < $totalpages; $temp++) { $gotopage = $temp * $imagesPerPage; $temp_pagenum = $temp + 1; $thepages .= ($_GET['page'] == $gotopage) ? "<STRONG>{$temp_pagenum}</STRONG> " : "<a href='gallery.php?page={$gotopage}'>{$temp_pagenum}</a> "; } if ($_GET['page'] == 0) { // no prev page $page_previous = "<grafik/showfoto_prev.gif' border='0'>"; } else { $previouspage = $_GET['page'] - $imagesPerPage; $page_previous = "<A href='gallery.php?page={$previouspage}' title='vorherige Seite'><IMG src='grafik/showfoto_prev.gif' border='0'></A>"; } $multiPage = "<FONT size='8'>{$page_previous} {$thepages} {$page_next}</FONT>"; } if (($_GET['page'] + $imagesPerPage) > $numberofactionpics) { $imagesPerPage = $numberofactionpics % $_GET['page']; $imagesPerPage = $imagesPerPage ? $imagesPerPage : $numberofactionpics; } // Output the actual images for($x = $_GET['page']; $x < ($_GET['page'] + $imagesPerPage) ; $x++) { if ($actioncol == 0) { echo '<TR>'; } $sizetemp = preg_replace("/ /", "%20", $actionlistfile[$pickey[$x]]); $picname = addslashes($sizetemp); $desc = preg_replace("/.jpg/i", "", $actionlistfile[$pickey[$x]]); $sizer = $picsdir . $sizetemp; $openPic = "<a href=\"gallery.php?pic=$picname\""; echo '<TD align="center" style="width: 150px"> <A ', $openPic , '><img src="'.$picsdir.'thumbs/', $sizetemp , '"border="1" alt="', $desc, '" /></A></TD>'; $actioncol++; if ($actioncol == $imagesPerRow) { $actioncol = 0; echo '</TR>'; } } echo "<TR><TD colspan='{$imagesPerRow}' align='center'>$multiPage</TD></TR></TABLE>"; $mtime = explode(" ", microtime()); $totaltime = round((($mtime[1] + $mtime[0]) - $starttime), 5); $debug = ""; if ($showdebug == 1) { $debug = "Diese Thumbnailgallery wurde in {$totaltime} Sekunden erzeugt."; } } // Version info $debug = isset($debug) ? $debug : ""; echo '<FONT size="2">', $debug, '</FONT> </FIELDSET> </div> </body></div> </html>'; function makethumb($image, $filename, $newwidth, $newheight) { $imagequality = 70; $size = getimagesize($image); $ratio = $newwidth / $newheight; if ($im = @imagecreatefromjpeg($image)) { if ($newheight && ($size[0] < $size[1])) { $newwidth = ($newheight / $size[1]) * $size[0]; } else { $newheight = ($newwidth / $size[0]) * $size[1]; } $im2 = imagecreatetruecolor($newwidth, $newheight); // Version Dependant setting // imageantialias($im2, TRUE); //for PHP 4.3.2 and up only imagecopyresized($im2, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]); if (@imagejpeg($im2, $filename, $imagequality)) { return true; } else { echo "Error: Did you CHMOD the installation directory to 777 ?<BR />"; } } echo "Error: Thumbnail creation failed for <STRONG>{$filename}</STRONG>. Is the original picture corrupted?<BR />"; return false; } ?>
-
nein. "Notice: Undefined variable: numofactionpics in ...../webseiten/galerie/gallery.php on line 167". die navigation ist auch etwas eigenartig. wenn ich auf nächste seite gehe und so
-
Auch das funktioniert bei mir.
Wie dem auch sei - um das Skript vernünftig zu testen könnte ich es auch grad neuschreiben. Und dafür hab ich weder Lust noch Zeit.
Ich empfehle dir irgendeine Version die ich da bereits gepostet habe zu verwenden oder etwas PHP zu lernen und es selber versuchen anzupassen.Gruss
-
ja ich danke dir. es klappt ja wunderbar. bei wenig bilder muss ich halt im script die anzahl der bilder anpassen. ist halt so.
-
also lange ist es her. das script funzt super. halt nur immer noch der fehler:
Warning: Division by zero in /...gallery.php on line 200
der fehler ist nur dann da wenn man weniger bilder hat wie auf einer seite passen. die anzahl der bilder die auf einer seite passen kann man im script einstellen. mich stört es wenig da ich genug bilder habe. nur weil andere das script vielleicht auch interessant finden möchte ich den fehler beheben. ich fand den fehler auf mehreren servern. strato, domainfactory, host.sk und lokal mit mowes portable 2. der einzige wo ich den fehler nicht habe, also das script perkekt funzt ist tripod.de. ist es also doch ein server problem? aber das so viele nicht klar kommen verstehe ich nicht. also wäre toll wenn da jemand dahinter kommen könnte. vielen dank
hier noch mal das scriptPHP
Alles anzeigen<a id="galerie" name="galerie"></a> <?php /* THEPICS lite - a picture gallery generator Copyright (C) 2001-2003 Website: http://d0x.codesociety.com/ Email: d0x@codesociety.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ /************ THEPICS lite CONFIGURATION ************/ $pathToImagesDir = "galerie/"; // Name of your gallery $subject = "Galerie"; // Short description of your gallery. $description = "Übersicht"; // How many images to output per row $imagesPerRow = 3; // How many images to output per page $imagesPerPage = 12; // Gallery sort order [ alpha | date ] $sort = "alpha"; // Height of each thumbnail $thumbHeight = 150; // Width of each thumbnail. NOTE: Width takes precedence $thumbWidth = 150; // Debugging $showdebug = "0"; //Set to "1" to show the page generation time //error_reporting(E_ALL); //Uncomment this to show all warnings and errors. //phpinfo(); //Uncomment this to display PHP info. /************ END THEPICS lite CONFIGURATION ************/ $mtime = explode(" ", microtime()); //debug timer $starttime = $mtime[1] + $mtime[0]; //Styles echo " <div id='galerie'> <div align='center'><FIELDSET style='width: 750px'><LEGEND><STRONG>$subject</STRONG></LEGEND>"; //Code if (isset($_GET['pic'])) { $picsdir = $pathToImagesDir; $dir = opendir($picsdir); while ($dirdata = readdir($dir)) { if (eregi("\.jpg", $dirdata)) { $main[] = $dirdata; } } closedir($dir); if($sort == "date") { arsort($picdates, SORT_NUMERIC); } else { natcasesort($main); //Sort pictures alphabetically } $pickey = ($sort == "date") ? array_keys($picdates) : array_keys($main); $curPic = array_search($_GET['pic'], $main); $nextkey = $pickey[0]; while ($nextkey != $curPic) { $nextkey = next($pickey); } $nextkey = next($pickey); $page_next = ($pickey[$curPic] != count($main)-1) ? " <A href='gallery.php?pic={$main[$nextkey]}#galerie' title='nächstes Foto'><IMG src='images/showfoto_next.gif' border='0'></A>" : ""; prev($pickey); $prevkey = prev($pickey); $page_prev = ($curPic != $pickey[0]) ? "<A href='gallery.php?pic={$main[$prevkey]}#galerie' title='vorheriges Foto'><IMG src='images/showfoto_prev.gif' border='0'></A>  " : ""; // Make sure the file exists if (file_exists($picsdir.$_GET['pic'])) { $desc = stripslashes(preg_replace("/.jpg/", "", $_GET['pic'])); echo "<TABLE id='Table_Fotoalbum_ShowFoto_Nav' width='540' border='0'> <TR> <TD align='center'><FONT size='3'><A href='gallery.php'>$description</A> </FONT></TD> <TD align='right' width='200'><FONT size='2'>{$page_prev}{$page_next}</FONT></TD> </TR> </TABLE> <IMG src=\"{$picsdir}{$_GET['pic']}\" border=\"1\" alt=\"$desc\" width=\"740\" />"; } } else { $rootdir = $pathToImagesDir; $picsdir = $rootdir; $thumbsdir = $rootdir . 'thumbs/'; $thumbpicssitedir = 'thumbs/'; $numberofmainpics = 0; $dir = opendir($picsdir); while ($dirdata = readdir($dir)) { if (eregi("\.jpg", $dirdata)) { $main[] = $dirdata; $numberofmainpics++; } } closedir($dir); $actionlistfile = $main; //temp variables $numberofactionpics = $numberofmainpics; // Get mainthumblistfile $numberofmainpics = 0; if (file_exists($thumbsdir)) { $dir = opendir($thumbsdir); while ($dirdata = readdir($dir)) { if (eregi("\.jpg", $dirdata)) { $mainthumbs[] = $dirdata; } } closedir($dir); } else { if (!@mkdir($thumbsdir, 0777)) { echo "Error: Did you CHMOD the installation directory to 777 ?<BR />"; } } $counter = 0; $createdhowmanymain = 0; $createdhowmanyaction = 0; foreach($main as $mainpic) { if (!@in_array($mainpic, $mainthumbs)) { $createmainthumbs[$counter] = $mainpic; $createdhowmanymain++; $counter++; } } // Find out if we need to create thumbnails or not if ($createdhowmanymain > 0) { foreach($createmainthumbs as $createmain) { makethumb($picsdir . $createmain, $thumbsdir . $createmain, $thumbWidth, $thumbHeight); } } if ($description != "") { $showDescription = "<FONT size='3'><STRONG>$description</STRONG> ( <FONT color='#800000'>$numberofactionpics</FONT> Fotos )</FONT><BR /><BR />"; } // The follow lines control the Gallery Header. echo "$showDescription <FONT size='16'></FONT>"; // Set inital row and column counts to 1 $actionrow = 1; $actioncol = 0; if($sort == "date") { arsort($picdates, SORT_NUMERIC); } else { natcasesort($actionlistfile); //Sort pictures alphabetically } $pickey = ($sort == "date") ? array_keys($picdates) : array_keys($actionlistfile); echo '<TABLE>'; $multiPage = ""; $totalpages = ceil($numberofactionpics / $imagesPerPage); $_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 0; if ($totalpages > 1) { if (($numberofactionpics - $_GET['page']) <= $imagesPerPage) { // no next page $page_next = "<IMG src='images/showfoto_next.gif' border='0'>"; } else { $nextpage = $_GET['page'] + $imagesPerPage; $page_next = "<A href='gallery.php?page={$nextpage}' title='nächste Seite'><IMG src='images/showfoto_next.gif' border='0'></A>"; } $thepages = ""; for($temp = 0; $temp < $totalpages; $temp++) { $gotopage = $temp * $imagesPerPage; $temp_pagenum = $temp + 1; $thepages .= ($_GET['page'] == $gotopage) ? "<STRONG>{$temp_pagenum}</STRONG> " : "<a href='gallery.php?page={$gotopage}'>{$temp_pagenum}</a> "; } if ($_GET['page'] == 0) { // no prev page $page_previous = "<images/showfoto_prev.gif' border='0'>"; } else { $previouspage = $_GET['page'] - $imagesPerPage; $page_previous = "<A href='gallery.php?page={$previouspage}' title='vorherige Seite'><IMG src='images/showfoto_prev.gif' border='0'></A>"; } $multiPage = "<FONT size='5'>{$page_previous} {$thepages} {$page_next}</FONT>"; } if (($_GET['page'] + $imagesPerPage) > $numberofactionpics) { $imagesPerPage = $numberofactionpics % $_GET['page']; $imagesPerPage = $imagesPerPage ? $imagesPerPage : $numberofactionpics; } // Output the actual images for($x = $_GET['page']; $x < ($_GET['page'] + $imagesPerPage) ; $x++) { if ($actioncol == 0) { echo '<TR>'; } $sizetemp = preg_replace("/ /", "%20", $actionlistfile[$pickey[$x]]); $picname = addslashes($sizetemp); $desc = preg_replace("/.jpg/i", "", $actionlistfile[$pickey[$x]]); $sizer = $picsdir . $sizetemp; $openPic = "<a href=\"gallery.php?pic=$picname#galerie\""; echo '<TD align="center" style="width: 150px"> <A ', $openPic , '><img src="'.$picsdir.'thumbs/', $sizetemp , '"border="1" alt="', $desc, '" /></A></TD>'; $actioncol++; if ($actioncol == $imagesPerRow) { $actioncol = 0; echo '</TR>'; } } echo "<TR><TD colspan='{$imagesPerRow}' align='center'>$multiPage</TD></TR></TABLE>"; $mtime = explode(" ", microtime()); $totaltime = round((($mtime[1] + $mtime[0]) - $starttime), 5); $debug = ""; if ($showdebug == 1) { $debug = "Diese Thumbnailgallery wurde in {$totaltime} Sekunden erzeugt."; } } // Version info $debug = isset($debug) ? $debug : ""; echo '<FONT size="2">', $debug, '</FONT> </FIELDSET> </div> </body></div> </html>'; function makethumb($image, $filename, $newwidth, $newheight) { $imagequality = 70; $size = getimagesize($image); $ratio = $newwidth / $newheight; if ($im = @imagecreatefromjpeg($image)) { if ($newheight && ($size[0] < $size[1])) { $newwidth = ($newheight / $size[1]) * $size[0]; } else { $newheight = ($newwidth / $size[0]) * $size[1]; } $im2 = imagecreatetruecolor($newwidth, $newheight); // Version Dependant setting // imageantialias($im2, TRUE); //for PHP 4.3.2 and up only imagecopyresized($im2, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]); if (@imagejpeg($im2, $filename, $imagequality)) { return true; } else { echo "Error: Did you CHMOD the installation directory to 777 ?<BR />"; } } echo "Error: Thumbnail creation failed for <STRONG>{$filename}</STRONG>. Is the original picture corrupted?<BR />"; return false; } ?>
-
Tripod hat wahrscheinlich einfach die Fehlermeldung ausgeschaltet
PHPif (($_GET['page'] + $imagesPerPage) > $numberofactionpics) { $imagesPerPage = $numberofactionpics % $_GET['page']; $imagesPerPage = $imagesPerPage ? $imagesPerPage : $numberofactionpics; }
Das dürfte Zeile 200 sein, oder? Dann änder das mal aufPHPif ((($_GET['page'] + $imagesPerPage) > $numberofactionpics) && $_GET['page']) { $imagesPerPage = $numberofactionpics % $_GET['page']; $imagesPerPage = $imagesPerPage ? $imagesPerPage : $numberofactionpics; }
Ungestet, aber müsste klappen. Eine Modulo-Berechnung wird intern als Division durchgeführt. Eine Zahl % 0 ist somit nicht definiert. -
hey super. wir kommen der sache schon näher. die fehler meldung ist weg. dafür ein neuer kleiner fehler. schwer zu beschreiben. ich teste immer mit 3 bilder. vorher hat er nur die 3 bilder geladen jetzt läd er die 3 bilder und will trotzdem die seite mit bildern voll kriegen die es nicht gibt. er zeigt den rahmen ohne bild und erstellt einen link.
bei einem vorhandenen bild sieht der link so z.b. aus:
gallery.php?pic=Bild%20061.jpg#galerie
bei den restlichen nicht vorhandenen so:
gallery.php?pic=#galerie
eine idee? -
hallo, gibts noch jemand der einen tipp hat?
-
hallo, gibts noch jemand der einen tipp hat?
-